3v4l.org

run code in 300+ PHP versions simultaneously
<?php $items = [ 'ITEM-1' => [ 'foo' => false, 'bar' => 'test 1'], 'ITEM-2' => [ 'foo' => true, 'bar' => 'test 2'], 'ITEM-3' => [ '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/VcGcr on line 7 Warning: {closure}(): Argument #1 ($item) must be passed by reference, value given in /in/VcGcr on line 7 Warning: {closure}(): Argument #1 ($item) must be passed by reference, value given in /in/VcGcr on line 7 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/VcGcr on line 15 Warning: {closure}(): Argument #1 ($item) must be passed by reference, value given in /in/VcGcr on line 15 Warning: {closure}(): Argument #1 ($item) must be passed by reference, value given in /in/VcGcr on line 15 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.20, 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.28
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:
218.08 ms | 402 KiB | 268 Q