请大家看如下代码,并猜想结果会是什么样的?
$arrData = array (
'va_info' => array (array ('position' => 290, 'item' => 70009 ),
array ('position' => 290, 'item' => 70009 ),
array ('position' => 290, 'item' => 70009 ),
array ('position' => 290, 'item' => 70009 ),
array ('position' => 290, 'item' => 70009 ) ) );
foreach ( $arrData['va_info'] as &$data )
{
update($arrData);
unset($data);
}
function update($arrData)
{
foreach ( $arrData as $col => $value )
{
$arrData [$col] = array ('=', $value );
}
return $arrData;
}
结果是foreach的时候arrData变成了reference,于是死循环了
本文详细解析了一个PHP代码片段,展示了数组引用导致的死循环问题,通过代码实例阐述了PHP中数组操作时引用和值传递的区别,并提供了解决方案。
1894

被折叠的 条评论
为什么被折叠?



