3v4l.org

run code in 300+ PHP versions simultaneously
<?php $flags = [ 'READ_AHEAD' => SplFileObject::READ_AHEAD, 'READ_AHEAD | DROP_NEW_LINE' => SplFileObject::READ_AHEAD | SplFileObject::DROP_NEW_LINE, 'READ_AHEAD | SKIP_EMPTY' => SplFileObject::READ_AHEAD | SplFileObject::SKIP_EMPTY, 'READ_AHEAD | SKIP_EMPTY | DROP_NEW_LINE' => SplFileObject::READ_AHEAD | SplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE, ]; $file = new SplTempFileObject(); $file->fwrite("1\n\n3\n"); foreach ([SplFileObject::READ_AHEAD, 0] as $readAhead) { foreach ([SplFileObject::SKIP_EMPTY, 0] as $skipEmpty) { foreach ([SplFileObject::DROP_NEW_LINE, 0] as $dropNewLine) { $file->rewind(); $file->setFlags( SplFileObject::READ_CSV | $readAhead | $skipEmpty | $dropNewLine ); printf( " %s | %s | %s | %s\n", // SKIP_EMPTY $readAhead ? 'READ_AHEAD' : ' ', $skipEmpty ? 'SKIP_EMPTY' : ' ', // DROP_NEW_LINE $dropNewLine ? 'DROP_NEW_LINE' : ' ', json_encode(array_values(iterator_to_array($file))) ); } } }

preferences:
28.88 ms | 402 KiB | 5 Q