3v4l.org

run code in 300+ PHP versions simultaneously
<?php $items = array( 'ITEM-1' => array( 'foo' => false, 'bar' => 'test 1'), 'ITEM-2' => array( 'foo' => true, 'bar' => 'test 2'), 'ITEM-3' => array( 'foo' => false, 'bar' => 'test 3'), ); $items = array_filter($items, function(&$item) { if($item['foo']) { return false; } $item['bar'] = 'BAM!'; return true; }); var_dump($items);
Output for 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Warning: {closure}(): Argument #1 ($item) must be passed by reference, value given in /in/0vHbW on line 8 Warning: {closure}(): Argument #1 ($item) must be passed by reference, value given in /in/0vHbW on line 8 Warning: {closure}(): Argument #1 ($item) must be passed by reference, value given in /in/0vHbW on line 8 array(2) { ["ITEM-1"]=> array(2) { ["foo"]=> bool(false) ["bar"]=> string(6) "test 1" } ["ITEM-3"]=> array(2) { ["foo"]=> bool(false) ["bar"]=> string(6) "test 3" } }
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28
Warning: {closure}(): Argument #1 ($item) must be passed by reference, value given in /in/0vHbW on line 16 Warning: {closure}(): Argument #1 ($item) must be passed by reference, value given in /in/0vHbW on line 16 Warning: {closure}(): Argument #1 ($item) must be passed by reference, value given in /in/0vHbW on line 16 array(2) { ["ITEM-1"]=> array(2) { ["foo"]=> bool(false) ["bar"]=> string(6) "test 1" } ["ITEM-3"]=> array(2) { ["foo"]=> bool(false) ["bar"]=> string(6) "test 3" } }
Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
array(2) { ["ITEM-1"]=> array(2) { ["foo"]=> bool(false) ["bar"]=> string(6) "test 1" } ["ITEM-3"]=> array(2) { ["foo"]=> bool(false) ["bar"]=> string(6) "test 3" } }
Output for 5.5.0 - 5.5.38, 5.6.0 - 5.6.40
array(2) { ["ITEM-1"]=> array(2) { ["foo"]=> bool(false) ["bar"]=> string(4) "BAM!" } ["ITEM-3"]=> array(2) { ["foo"]=> bool(false) ["bar"]=> string(4) "BAM!" } }

preferences:
221.05 ms | 402 KiB | 330 Q