3v4l.org

run code in 300+ PHP versions simultaneously
<?php $b=array(-1=>0); $c=array_pop($b); assert($c == 0); assert(array_push($b, 0), 1); assert(array_push($b, 0), 2); var_dump($b); assert(array_push($b, 0), 3);
Output for 8.0.0 - 8.0.3
array(2) { [-1]=> int(0) [0]=> int(0) }
Output for 5.4.32 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.27, 7.4.0 - 7.4.15
array(2) { [0]=> int(0) [1]=> int(0) }
Output for 5.4.8 - 5.4.31
array(2) { [-1]=> int(0) [9223372036854775807]=> int(0) } Warning: array_push(): Cannot add element to the array as the next element is already occupied in /in/MPaIr on line 8 Warning: assert(): 3 failed in /in/MPaIr on line 8
Output for 5.3.0 - 5.3.29, 5.4.0 - 5.4.7
Warning: assert() expects exactly 1 parameter, 2 given in /in/MPaIr on line 5 Warning: assert() expects exactly 1 parameter, 2 given in /in/MPaIr on line 6 array(2) { [-1]=> int(0) [9223372036854775807]=> int(0) } Warning: array_push(): Cannot add element to the array as the next element is already occupied in /in/MPaIr on line 8 Warning: assert() expects exactly 1 parameter, 2 given in /in/MPaIr on line 8
Output for 5.2.10 - 5.2.17
Warning: Wrong parameter count for assert() in /in/MPaIr on line 5 Warning: Wrong parameter count for assert() in /in/MPaIr on line 6 array(2) { [-1]=> int(0) [9223372036854775807]=> int(0) } Warning: array_push(): Cannot add element to the array as the next element is already occupied in /in/MPaIr on line 8 Warning: Wrong parameter count for assert() in /in/MPaIr on line 8
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.9
Warning: Wrong parameter count for assert() in /in/MPaIr on line 5 Warning: Wrong parameter count for assert() in /in/MPaIr on line 6 array(2) { [-1]=> int(0) [0]=> int(0) } Warning: Wrong parameter count for assert() in /in/MPaIr on line 8