3v4l.org

run code in 300+ PHP versions simultaneously
<?php class SomeHelperClass { public $_arr = []; public function addValue($value, $key = null): void { $this->_arr[$key ?? ((array_key_last($this->_arr) ?? -1) + 1)] = $value; } } $test = new SomeHelperClass; var_export($test->_arr); echo "\n"; $test->addValue(1); var_export($test->_arr); echo "\n"; $test->addValue(2); var_export($test->_arr); echo "\n"; $test->addValue(3, 4); var_export($test->_arr); echo "\n"; $test->addValue(4, 3); var_export($test->_arr); echo "\n"; $test->addValue(5); var_export($test->_arr);
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
array ( ) array ( 0 => 1, ) array ( 0 => 1, 1 => 2, ) array ( 0 => 1, 1 => 2, 4 => 3, ) array ( 0 => 1, 1 => 2, 4 => 3, 3 => 4, ) array ( 0 => 1, 1 => 2, 4 => 5, 3 => 4, )

preferences:
83 ms | 407 KiB | 5 Q