Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用三元运算符和引用值的foreach中的意外行为_Php_Foreach_Conditional Operator - Fatal编程技术网

Php 使用三元运算符和引用值的foreach中的意外行为

Php 使用三元运算符和引用值的foreach中的意外行为,php,foreach,conditional-operator,Php,Foreach,Conditional Operator,为什么以下代码在PHP 5.5.*和PHP 7.*中具有不同的输出: <?php $foo = ['bar'=>[['item1'=>'value1']]]; foreach ($foo['bar'] ?: [] as $k => &$arr1) { $arr1['item1'] = 'value2'; } var_dump($foo);

为什么以下代码在PHP 5.5.*和PHP 7.*中具有不同的输出:

<?php
$foo = ['bar'=>[['item1'=>'value1']]];
foreach ($foo['bar'] ?: [] as $k => &$arr1) {
  $arr1['item1'] = 'value2';
}

var_dump($foo);