ホームページ >バックエンド開発 >PHPチュートリアル >2 つの配列と差分セットの PHP 共通部分

2 つの配列と差分セットの PHP 共通部分

WBOY
WBOYオリジナル
2016-06-13 13:03:39835ブラウズ

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 の場合にのみ等しいとみなされます。つまり、厳密なチェックが行われ、文字列の表現が同じである必要があります。

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