3v4l.org

run code in 300+ PHP versions simultaneously
<?php $file = new SplTempFileObject(); for ($i = 0; $i < 100; $i++) { $file->fwrite("Foo $i\n"); } $file->rewind(); $nextBefore = []; while ($file->valid() && $file->key() <= 3) { $file->next(); $line = $file->current(); $nextBefore[$file->key()] = trim($line); } $file->rewind(); $nextAfter = []; while ($file->valid() && $file->key() <= 3) { $line = $file->current(); $nextAfter[$file->key()] = trim($line); $file->next(); } $file->rewind(); $fgets = []; while ($file->valid() && $file->key() <= 3) { $line = $file->fgets(); $fgets[$file->key()] = trim($line); } echo "-- Next Before --\n"; print_r($nextBefore) . PHP_EOL; echo "-- Next After --\n"; print_r($nextAfter) . PHP_EOL; echo "-- fgets --\n"; print_r($fgets) . PHP_EOL;
Output for 8.0.19 - 8.0.30, 8.1.6 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
-- Next Before -- Array ( [1] => Foo 0 [2] => Foo 1 [3] => Foo 2 [4] => Foo 3 ) -- Next After -- Array ( [0] => Foo 0 [1] => Foo 1 [2] => Foo 2 [3] => Foo 3 ) -- fgets -- Array ( [1] => Foo 0 [2] => Foo 1 [3] => Foo 2 [4] => Foo 3 )
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 -- Next Before -- Array ( [1] => Foo 0 [2] => Foo 1 [3] => Foo 2 [4] => Foo 3 ) -- Next After -- Array ( [0] => Foo 0 [1] => Foo 1 [2] => Foo 2 [3] => Foo 3 ) -- fgets -- Array ( [1] => Foo 0 [2] => Foo 1 [3] => Foo 2 [4] => Foo 3 )
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.18, 8.1.0 - 8.1.5
-- Next Before -- Array ( [1] => Foo 0 [2] => Foo 1 [3] => Foo 2 [4] => Foo 3 ) -- Next After -- Array ( [0] => Foo 0 [1] => Foo 1 [2] => Foo 2 [3] => Foo 3 ) -- fgets -- Array ( [0] => Foo 0 [1] => Foo 1 [2] => Foo 2 [3] => Foo 3 [4] => Foo 4 )

preferences:
159.63 ms | 406 KiB | 157 Q