Почему следующий код имеет различный вывод в PHP 5.5. * И PHP 7. *:
<?php
$foo = ['bar'=>[['item1'=>'value1']]];
foreach ($foo['bar'] ?: [] as $k => &$arr1) {
$arr1['item1'] = 'value2';
}
var_dump($foo);
В PHP 5 значение $foo['bar'][0]['item1']
будет изменено с помощью value2
, но в PHP 7 не будет.