ホームページ >バックエンド開発 >PHPチュートリアル >PHP Foreach ループで参照変数を使用するとどうなりますか?
PHP Foreach の参照変数
指定されたコードでは、最初の foreach ループで参照変数が使用されているために問題が発生します。説明は次のとおりです:
$a = ['zero', 'one', 'two', 'three']; foreach ($a as &$v) { // $v is a reference to the current array element } foreach ($a as $v) { echo $v . PHP_EOL; }
PHP では、変数は通常変数または参照変数になります。通常の変数はデータの値を保持しますが、参照変数はデータの位置を指します。
最初のループでは、$v = &$a[0]; となります。したがって、$v は配列の最初の要素「ゼロ」への参照になります。つまり、$v への変更は $a[0] に反映され、その逆も同様です。
2 番目のループでは、$v = 'two' になります。 $v は参照変数であるため、この操作により、配列内の対応する要素 $a[3] も変更されます。
最後に、2 番目の foreach ループで各要素を反復すると、出力が表示されます。 :
これは、foreach ループで参照変数を使用することの影響を示しており、最初のループで更新された最後の値の繰り返しが発生します。ループします。
以上がPHP Foreach ループで参照変数を使用するとどうなりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。