ホームページ >バックエンド開発 >PHPチュートリアル >2 つの配列と差分セットの PHP 共通部分
2 つの配列の差分セットの PHP 共通部分
array_intersect -- 他のすべてのパラメータ配列にも現れる値である配列の交差を計算します。キー名は変更されないことに注意してください。
例 1. array_intersect() の例
$array1 = array ("a" => "green", "red", "blue");
$array2 = array ("b" => "green", " yellow", "red");
$result = array_intersect ($array1, $array2);
?>
これにより、$result は次のようになります:
Array
(
[a] => green
[0] => red
)
array_diff -- 配列の差を計算する手順
array array_diff (array array1, array array2 [, array ...])
array_diff() は、すべての A 値を含む配列を返します。 array1 にはありますが、他のパラメータ配列にはありません。キー名は変更されないことに注意してください。
例 1. array_diff() の例
$array1 = array ("a" => "green", "red", "blue", " red");
$array2 = array ("b" => "green", " yellow", "red");
$result = array_diff ($array1, $array2);
? >
これにより、$result が配列 (1 => "blue"); になります。 $array1 に複数回出現する値は同等に扱われます。
注: (文字列) $elem1 === (文字列) $elem2 の場合にのみ、2 つのユニットが同一とみなされます。つまり、文字列の表現が同じ場合です。
注: この関数は多次元配列内の 1 つの次元のみをチェックすることに注意してください。もちろん、array_diff($array1[0], $array2[0]); を使用して、より深い次元を確認することもできます。
array_diff_assoc -- インデックスチェックを使用して配列の差集合を計算します
説明
array array_diff_assoc (array array1, array array2 [, array ...])
array_diff_assoc() array1 のすべての値を含み、他のパラメータ配列には含まれない配列を返します。 array_diff() とは異なり、キー名も比較に使用されることに注意してください。
例 1. array_diff_assoc() の例
$array1 = array ("a" => "green", "b" => "brown" , "c" => "青", "赤");
$array2 = array ("a" => "緑", "黄", "赤");
$result = array_diff_assoc ($array1, $array2);
/* 結果は次のようになります:
Array
(
[b] => 茶色
[c] => 青
[0] => red
)
*/
?>
上の例では、キーと値のペア "a" => 「green 」は両方の配列に存在するため、この関数の出力には含まれません。対照的に、2 番目の引数の「red」のキーが 1 であるため、キーと値のペア 0 => "red" が出力に表示されます。
キーと値のペア key => value 内の 2 つの値は、 (string) $elem1 === (string) $elem2 の場合にのみ等しいとみなされます。つまり、厳密なチェックが行われ、文字列の表現が同じである必要があります。