PHPに別の配列を追加する

WBOY
リリース: 2023-05-24 18:06:09
オリジナル
464 人が閲覧しました

PHP では、配列は非常に柔軟で一般的に使用されるデータ型であり、複数の値 (要素) を格納でき、これらの値は任意のデータ型にすることができます。異なる配列を追加する必要がある場合、さまざまな追加方法とそれに対応する注意事項を理解する必要があります。

  1. array_merge() 関数を使用して配列を結合する

array_merge() 関数は、2 つ以上の配列を新しい配列に結合できます。この新しい配列には、すべての入力配列が含まれます。要素は新しい配列に入れられ、インデックスは再び 0 から始まり、元の配列のキー名は同じキー名の値を上書きすることなく保持されます。以下は例です:

$array1 = array('a', 'b', 'c');
$array2 = array('d', 'e', 'f');
$array3 = array_merge($array1, $array2);
print_r($array3);
ログイン後にコピー

出力結果は次のとおりです:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)
ログイン後にコピー

同じキー名の値が配列の場合、array_merge()関数はそれらを再帰的にマージします。つまり、サブ配列をマージします。キー名が数値の場合、マージされた結果は数値インデックス付きの配列に自動的に変換されます。

  1. 演算子を使用して配列を結合する

PHP では、演算子を使用して 2 つの配列を新しい配列に結合できますが、 array_merge() 関数とは異なり、演算子は左側の配列内のキー名と値のみが保持され、右側の配列内の同じキー名の値は無視されます。以下は例です:

$array1 = array('a', 'b', 'c');
$array2 = array('d' => 1, 'e', 'f');
$array3 = $array1 + $array2;
print_r($array3);
ログイン後にコピー

出力は次のとおりです:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [d] => 1
    [1] => e
    [2] => f
)
ログイン後にコピー

配列のキー名が文字列の場合、演算子はそれらを連想配列として扱うことに注意してください。左側の配列に数値と文字列の両方のインデックス キーが含まれている場合、右側の配列の文字列インデックス キーは無視されます。

  1. array_merge_recursive() 関数を使用して配列をマージ (再帰的マージ)

同じキー名の値が配列の場合は、array_merge() 関数を使用します。マージする関数は、サブ配列を再帰的にマージすることなく、配列内のキー名に対応する前の値のみを上書きします。同じキー名を持つサブ配列を再帰的にマージする必要がある場合は、array_merge_recursive() 関数を使用できます。以下は例です:

$array1 = array('a' => array('b'), 'c');
$array2 = array('a' => array('d'), 'e');
$array3 = array_merge_recursive($array1, $array2);
print_r($array3);
ログイン後にコピー

出力結果は次のとおりです:

Array
(
    [a] => Array
        (
            [0] => b
            [1] => d
        )

    [0] => c
    [1] => e
)
ログイン後にコピー

array_merge_recursive() 関数は部分配列をマージし、同じキー名の値をマージすることに注意してください。 1 つの配列。

  1. array_replace() 関数を使用して配列をマージする (置換マージ)

array_replace() 関数は 2 つ以上の配列を新しい配列にマージできますが、それは異なります。 from array_merge () 関数との違いは、同じキー名の値が配列にマージされるのではなく、後続の値に置き換えられることです。以下は例です:

$array1 = array('a', 'b', 'c');
$array2 = array('b', 'd');
$array3 = array_replace($array1, $array2);
print_r($array3);
ログイン後にコピー

出力結果は次のとおりです:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)
ログイン後にコピー

array_replace() 関数はキー名の値のみを置き換えることに注意してください。キー名が存在する場合配列内に存在しないものが他の配列に存在しない場合、その値は変更されません。

要約すると、PHP には配列を結合するためのさまざまな方法が用意されており、実際のニーズに基づいて使用する方法を選択できます。元の配列キー名を保持する必要がある場合は、array_merge() 関数を使用できます。サブ配列を再帰的にマージする必要がある場合は、array_merge_recursive() 関数を使用できます。値を同じ名前に置き換える必要がある場合は、array_merge_recursive() 関数を使用できます。キー名を配列にマージする代わりに、array_replace () 関数を使用できます。

以上がPHPに別の配列を追加するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート