現在の位置: ホーム> 最新記事一覧> array_diff_key() + array_merge()は、アレイの微分マージを実装します

array_diff_key() + array_merge()は、アレイの微分マージを実装します

M66 2025-06-06

PHPプログラミングでは、アレイで操作のマージと区別を実行する必要があることがよくあります。 array_diff_key()およびarray_merge()は、配列の差動マージを実装するのに役立つPHPの2つの非常に有用な関数です。今日、私たちはこれら2つの機能を掘り下げ、それらを介した配列の違いをマージする方法を示します。

1。array_diff_key ()関数の紹介

array_diff_key()は、 2つ以上の配列を比較するために使用されるキーであり、異なるキー名を含む配列を返します。構文は次のとおりです。

 array_diff_key(array $array1, array $array2, array ...$arrays): array

この関数は、 $ array1のすべてのキーを含む配列を返しますが、他の配列にも存在するキーを除外します。

2。array_merge ()関数の紹介

array_merge()関数は、2つ以上の配列をマージするために使用されます。複数の数値を新しい配列に組み合わせて、マージされた結果を返します。基本的な構文は次のとおりです。

 array_merge(array ...$arrays): array

アレイをマージすると、複数の配列に同じキー名がある場合、その後の配列値は、以前の配列の同じキーの値を上書きします。

3.Array_diff_key()array_merge()を使用して、配列の微分マージを実装します

$ array1$ array2の2つの配列があり、それらの違い、つまり$ array2ではなく$ array1に存在する要素をマージしたいとします。 Array_diff_key()で差を計算し、 Array_merge()を使用して差をマージできます。

この関数を実装する方法を示すサンプルコードは次のとおりです。

 <?php
// 2つの配列を定義します
$array1 = [
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'cherry'
];

$array2 = [
    'b' => 'blueberry',
    'd' => 'date',
    'e' => 'elderberry'
];

// 使用 array_diff_key 現れる array1 ユニークなキー
$diff = array_diff_key($array1, $array2);

// 違いの部分をマージします
$result = array_merge($diff, $array2);

echo '<pre>';
print_r($result);
echo '</pre>';
?>

この例では、最初に$ array1に存在するが、 array_diff_key()を介して$ array2 (つまりキー「A」「C」 )には存在しないキーを見つけます。次に、 array_merge()を使用して、これらの違いを$ array2とマージします。最後に、マージされた配列の結果は出力です。

4。サンプル出力

上記のコードを実行した後、出力の結果は次のとおりです。

 Array
(
    [a] => apple
    [c] => cherry
    [b] => blueberry
    [d] => date
    [e] => elderberry
)

ご覧のとおり、 $ array1「a '=>' apple '' c '=>' cherry 'が保存され、 $ array2の要素がマージされます。

5。URL交換

配列にいくつかのURLを含めてドメイン名を置き換える必要があると仮定すると、Mergeプロセス中にURLのドメイン名パーツを置き換えるためにSTR_REPLACE()関数を使用するだけです。例えば: