ホームページ >バックエンド開発 >PHPチュートリアル >' =' 演算子は PHP 配列でどのように動作するのでしょうか?また、なぜユニオンのように動作するのでしょうか?
PHP 配列の共用演算子: " =" の謎を明らかにする
PHP では、配列は多彩な操作オプションを提供します。興味深い演算子の 1 つは次のとおりです。 「 」。この演算子を使用すると 2 つの配列を結合できますが、特定の要素が明らかに省略されているため、よくある誤解が生じます。この動作を明らかにするために、「 」の内部の仕組みと、配列の組み合わせに対するその独自のアプローチを詳しく調べます。
配列に適用すると、「 =」は右側の配列の要素を配列に追加します。左側の配列。ただし、重複キーの場合は、左側の配列の要素が優先され、右側の配列の対応する要素は破棄されます。この動作は、個別の要素のみが保持されるユニオン操作を模倣しています。
説明するには、次のコードを考えてみましょう。
$test = array('hi'); $test += array('test', 'oh');
結果の配列 $test には 2 つの要素のみが含まれます: "hi"そして「ああ」。これは、「hi」が左側の配列から保持され、「test」が重複キーのために無視されるために発生します。
「 =」の技術的基礎を理解するために、PHP 言語演算子に目を向けます。ドキュメントには次のように書かれています。「演算子は、左側の配列に追加された右側の配列を返します。両方の配列に存在するキーの場合、左側の配列の要素が使用され、右側の配列の一致する要素が使用されます」配列は次のようになります無視されます。"
基本的に、" =" は、右側の配列を反復処理し、不足しているキーを左側の配列に追加することによって動作します。左側の配列にすでに存在するキーは上書きされません。この動作は、重複キーに関係なく配列を結合し、より大きな結合配列を生成する array_merge() とは異なります。
例:
$array1 = ['one', 'two', 'foo' => 'bar']; $array2 = ['three', 'four', 'five', 'foo' => 'baz']; $union = $array1 + $array2;
結果の $union 配列には次が含まれます。
[ 'one' => 'one', // preserved from $array1 'two' => 'two', // preserved from $array1 'foo' => 'bar', // preserved from $array1 'five' => 'five', // added from $array2 ]
「 」の微妙な動作を理解することで、開発者は効率的に配列を操作し、データが損なわれないようにできるようになります。
以上が' =' 演算子は PHP 配列でどのように動作するのでしょうか?また、なぜユニオンのように動作するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。