例如,这安全吗?
foreach($opps_data as $k=>$v) {
$opps_data[$k.'_mixed'] = WXU::MixedCase($v);
}
它似乎工作正常。这是否意味着 PHP 在开始循环之前制作了数组的副本?
例如,这安全吗?
foreach($opps_data as $k=>$v) {
$opps_data[$k.'_mixed'] = WXU::MixedCase($v);
}
它似乎工作正常。这是否意味着 PHP 在开始循环之前制作了数组的副本?
是的,foreach
循环对原始数组的副本进行操作。更多关于内部行为的信息foreach
可以在这个很棒的博客中找到。
foreach()
使用迭代器。数组被调用,然后迭代器用于指向被调用的数组。
在这种情况下$opps_data
只调用一次。迭代器不会引用原始数组,它将处理$opps_data
被调用的副本。