3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?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 5.4.32 - 5.6.28, hhvm-3.10.0 - 3.12.0, 7.0.0 - 7.1.0
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/2L3Oc on line 8 Warning: assert(): 3 failed in /in/2L3Oc on line 8
Output for 5.3.0 - 5.4.7
Warning: assert() expects exactly 1 parameter, 2 given in /in/2L3Oc on line 5 Warning: assert() expects exactly 1 parameter, 2 given in /in/2L3Oc 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/2L3Oc on line 8 Warning: assert() expects exactly 1 parameter, 2 given in /in/2L3Oc on line 8
Output for 5.2.10 - 5.2.17
Warning: Wrong parameter count for assert() in /in/2L3Oc on line 5 Warning: Wrong parameter count for assert() in /in/2L3Oc 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/2L3Oc on line 8 Warning: Wrong parameter count for assert() in /in/2L3Oc on line 8
Output for 4.3.0 - 5.2.9
Warning: Wrong parameter count for assert() in /in/2L3Oc on line 5 Warning: Wrong parameter count for assert() in /in/2L3Oc on line 6 array(2) { [-1]=> int(0) [0]=> int(0) } Warning: Wrong parameter count for assert() in /in/2L3Oc on line 8