ホームページ  >  記事  >  バックエンド開発  >  PHPで配列をマージするにはいくつかの方法があります

PHPで配列をマージするにはいくつかの方法があります

青灯夜游
青灯夜游オリジナル
2021-06-01 17:59:3327025ブラウズ

php で配列を結合するには 4 つの方法があります: 1. プラス記号 " " 演算子を使用します。構文は "array 1 array 2 .." です。 2. array_push() 関数を使用します。 3. array_merge() 関数を使用します; 4. array_merge_recursive() 関数を使用します。

PHPで配列をマージするにはいくつかの方法があります

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

1. プラス記号「 」を使用してください。演算子:

2 つの配列の値を 1 つの配列に直接マージします;

$a = [1,2,3,'a'=>'a'];
$b = ['a'=>'b',4,5,'b'=>'c',6,7,'a'];
$c = $a + $b;

print_r($a);
print_r($b);
print_r($c);

//$a
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [a] => a
)

//$b
Array
(
    [a] => b
    [0] => 4
    [1] => 5
    [b] => c
    [2] => 6
    [3] => 7
    [4] => a
)

//$c
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [a] => a
    [b] => c
    [3] => 7
    [4] => a
)

配列をマージするには " " を使用します。キーが同じ場合、前の配列の値は後の配列値を上書きします。

2. array_push() 関数を使用します

変数を別の配列に配置します

$a = [1,'a'=>'aa',2,'b'=>'bb'];
$b = [1,'a'=>'aa',2,'b'=>'bb'];
print_r($a);
print_r($b);
array_push($a, $b);
print_r($a);

//$a
Array
(
    [0] => 1
    [a] => aa
    [1] => 2
    [b] => bb
)

//$b
Array
(
    [0] => 1
    [a] => aa
    [1] => 2
    [b] => bb
)

// array_push过后的$a
Array
(
    [0] => 1
    [a] => aa
    [1] => 2
    [b] => bb
    [2] => Array
        (
            [0] => 1
            [a] => aa
            [1] => 2
            [b] => bb
        )

)

出力された値から、変数が配列に入った後、対応する数値インデックスは、現在の配列内の最小の数値インデックス 1 でなければなりません (現在の配列に数値インデックスがない場合、新しい要素に対応するインデックスは 0 になります)

3. array_merge() 関数を使用します。

2 つの配列を直接マージします。2 つの配列のキーが同じ場合、後の配列の値が前の配列の値を上書きします。

$a = [1,'2'=>2,'a'=>'a','b'=>'b'];
$b = [1,'2'=>3,'a'=>'c','b'=>'d','c'=>'e'];
$c = array_merge($a,$b);
print_r($a);
print_r($b);
print_r($c);

//$a
Array
(
    [0] => 1
    [2] => 2
    [a] => a
    [b] => b
)

//$b
Array
(
    [0] => 1
    [2] => 3
    [a] => c
    [b] => d
    [c] => e
)

//$c
Array
(
    [0] => 1
    [1] => 2
    [a] => c
    [b] => d
    [2] => 1
    [3] => 3
    [c] => e
)

2 つの配列のキーが同じ場合、後の配列の値が前の配列の値を上書きします。前の配列の値。ただし、数値インデックスまたは数値文字列インデックスの場合は、順番にリセットされます (最初の配列の最初の数値インデックス要素は 0 から順に埋められます)

4. array_merge_recursive() 関数を使用します

配列をマージします。同じキーが見つかった場合、キー内の値をサブ配列にマージします。

$a = [1,'2'=>2,'a'=>'a','b'=>'b'];
$b = [1,'2'=>3,'a'=>'a','b'=>'d','c'=>'e'];
$c = array_merge_recursive($a,$b);
print_r($a);
print_r($b);
print_r($c);


//$a
Array
(
    [0] => 1
    [2] => 2
    [a] => a
    [b] => b
)

//$b
Array
(
    [0] => 1
    [2] => 3
    [a] => a
    [b] => d
    [c] => e
)

//$c
Array
(
    [0] => 1
    [1] => 2
    [a] => Array
        (
            [0] => a
            [1] => a
        )

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

    [2] => 1
    [3] => 3
    [c] => e
)

「array_merge_recursive」メソッドを使用すると、同じキーを持つ要素がサブ配列に統合されます。新しい配列、維持 キー名は変更されず、マージされた配列 ($a と $b で結合された配列) のサブ要素として使用されます。ただし、数値インデックスまたは数値文字列インデックスの場合は、順番にリセットされます (最初の配列の最初の数値インデックス要素は 0 から順に埋められます)。対応する数値インデックスが同じであっても、同じインデックスを持つ要素は部分配列に統合されません。

推奨学習: 「PHP ビデオ チュートリアル

以上がPHPで配列をマージするにはいくつかの方法がありますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。