現在の位置: ホーム> 最新記事一覧> array_diff_assoc()とarray_intersect_assoc()を一緒に使用します

array_diff_assoc()とarray_intersect_assoc()を一緒に使用します

M66 2025-06-06

PHPでは、 array_diff_assoc()array_intersect_assoc()は、それぞれ2つの非常に有用な関数であり、配列の違いと交点を見つけるために使用されます。配列の値だけでなく、キー名も比較するため、キー価値のペアをより正確に比較します。この記事では、これら2つの機能を組み合わせて使用​​して、配列の違いと交差操作を実装する方法を学びます。

1。array_diff_assoc ()の紹介

array_diff_assoc()関数は、2つ以上の配列間の差を返します。 array_diff()とは異なり、 array_diff_assoc()は、配列の値を比較するだけでなく、キー名も比較します。キー名と対応する値が複数の配列で等しくない場合、差分セットの一部と見なされます。

関数プロトタイプ

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

サンプルコード

 $array1 = [
    "a" => 1,
    "b" => 2,
    "c" => 3
];

$array2 = [
    "a" => 1,
    "b" => 3,
    "c" => 3
];

$result = array_diff_assoc($array1, $array2);
print_r($result);

出力

 Array
(
    [b] => 2
)

上記の例では、 array_diff_assoc()は$ array1$ array2が異なるため、キー名「b」に対応する値2のみを返します。

2。array_intersect_assoc ()の紹介

array_intersect_assoc()関数は、2つ以上の配列の交差点を返すために使用されます。 array_intersect()とは異なり、 array_intersect_assoc()もキー名を比較します。同じ値とキー名を持つ要素のみが交差点に表示されます。

関数プロトタイプ

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

サンプルコード

 $array1 = [
    "a" => 1,
    "b" => 2,
    "c" => 3
];

$array2 = [
    "a" => 1,
    "b" => 2,
    "d" => 4
];

$result = array_intersect_assoc($array1, $array2);
print_r($result);

出力

 Array
(
    [a] => 1
    [b] => 2
)

この例では、 array_intersect_assoc()は、キー名と対応する値が同じである部分、つまり"=> 1および" b "=> 2を返します。

3。array_diff_assoc ()array_intersect_assoc()を組み合わせて、違いと交差操作を実装します

2つの配列との交差点と違いを見つける必要があると仮定すると、この目標を達成するには、 array_diff_assoc()array_intersect_assoc()を使用できます。

サンプルコード

 $array1 = [
    "a" => 1,
    "b" => 2,
    "c" => 3
];

$array2 = [
    "a" => 1,
    "b" => 3,
    "d" => 4
];

// 計算交差
$intersect = array_intersect_assoc($array1, $array2);

// 差セットを計算します
$diff = array_diff_assoc($array1, $array2);

echo "交差点:\n";
print_r($intersect);

echo "差集:\n";
print_r($diff);

出力

 交差点:
Array
(
    [a] => 1
)

差集:
Array
(
    [b] => 2
    [c] => 3
)

この例では、交差点には「a」=> 1のみが含まれ、差には異なるキー名と対応する値、つまり「b」=> 2および「c」=> 3を持つ要素が含まれます。

4.シナリオを使用します

array_diff_assoc()およびarray_intersect_assoc()を使用すると、特に配列のキー価値ペアを正確に比較するために必要な場合は、キーと価値のペアで配列を処理するのに非常に便利です。一般的な使用シナリオは次のとおりです。

  • 2つの構成ファイルを比較して、共通の構成アイテムと異なる構成アイテムを見つけます。

  • 2つのデータセットを比較し、交差点と違いセットを見つけ、データを同期またはマージします。

  • 多次元配列を使用するときは、配列の値だけでなく、キー名も確認してください。

5。結論

array_diff_assoc()およびarray_intersect_assoc()を使用することにより、配列の違いと交差操作を簡単に処理できます。両方の関数がキー名と対応する値を比較できることに注意する必要があります。これにより、関連するキーを持つ配列を扱うときに非常に便利になります。