foreach での PHP 参照渡し
参照渡しについて理解
PHP には 2 つの変数がありますタイプ: 通常変数と参照変数。変数の参照を別の変数に割り当てると、参照変数が作成されます。変数は、参照される変数のエイリアスになります。
Foreach ループでの参照渡し
foreach ループでは、構文 foreach ($a as &$v)各配列要素への参照を変数 $v に渡します。これは、ループ内で $v に加えられた変更は、元の配列要素も変更することを意味します。
コード スニペットの説明
$a = array ('zero','one','two', 'three'); foreach ($a as &$v) { } foreach ($a as $v) { echo $v.PHP_EOL; }
このコードでは:
zero one two two
出力の理由
最初の foreach ループの後、要素 $ a[3]は$vで参照されているため参照変数になります。したがって、後続の反復で $v に新しい値が割り当てられると、$a[3] も変更されます。
$a[3] は参照変数になっているため、2 番目の foreach ループでその値が変更されます。ループの他のすべての繰り返しに影響します。したがって、最後の反復では「three」ではなく「two」を出力します。
以上がPHP の「foreach」ループでの参照渡しは配列要素の変更にどのような影響を与えますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。