PHP での配列の連結: 演算子が失敗する理由
" " 演算子を使用して配列を結合しようとすると、予期しない結果が発生する可能性があります。次のコードを考えてみましょう:
$array = array('Item 1'); $array += array('Item 2'); var_dump($array);
出力:
array(1) { [0] => string(6) "Item 1" }
なぜこれは機能しないのですか?
キーと重複
問題は配列キーと重複した値にあります。指定されたコード内の両方の配列のキーが「0」であるため、重複した値が互いに上書きされます。元の順序を保持し、重複を防ぐために、PHP はキー「0」の最初の値を使用します。
解決策: 配列のマージ
配列を正しく連結するには、array_merge を使用します。 ():
$arr1 = array('foo'); // Same as array(0 => 'foo') $arr2 = array('bar'); // Same as array(0 => 'bar') $combined = array_merge($arr1, $arr2);
array_merge() は、キーと値のペアを保持しながら配列をマージします。
演算子を使用する場合
" " 演算子配列を異なるキーと結合する場合にも便利です:
$arr1 = array('one' => 'foo'); $arr2 = array('two' => 'bar'); $combined = $arr1 + $arr2;
これは次のようになります:
array('one' => 'foo', 'two' => 'bar');
要約すると、配列の連結には array_merge() を使用して順序を保持し、キーの競合を回避します。 。配列を一意のキーと結合するには、" " 演算子を使用します。
以上がPHP 配列を結合するときに ( ) 演算子が失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。