$countries = [
リーリー];
foreach ($countries as $key => $value) {
}
?>
$countries = [
リーリー];
foreach ($countries as $key => $value) {
}
?>
定義されています$countries
和foreach循环中的$countries
指向的是同一个zval变量, 因为PHP要节省内存,不需要同样的数据存两份。这时候zval中的refcount
为2. 但是如果在循环中改变$countries
、たとえば
または
リーリー参照を渡し、copy-on-write
操作, 就是写时复制. 会将zval复制一份, 并把原来的zval的refcount
マイナス 1 をトリガーする値を割り当てます。
ループするたびに、current が実行されるため、ループするたびに実行されますcopy-on-write
。したがって、current が新しい zval を操作するたびに
この答えを一緒に探しています