1. 配列の交差 array_intersect()
array_intersect() 関数は、保持されたキーを含む配列を返します。配列は、最初の配列に出現し、他のすべての入力配列に出現する値のみで構成されます。その形式は次のとおりです:
array array_intersect(array array1,array array2[,arrayN…])
次の例は、$fruit1 配列に表示され、$fruit2 と $fruit3 にも表示されるすべてのフルーツを返します:
<?php $fruit1 = array("Apple","Banana","Orange"); $fruit2 = array("Pear","Apple","Grape"); $fruit3 = array("Watermelon","Orange","Apple"); $intersection = array_intersect($fruit1, $fruit2, $fruit3); print_r($intersection); // output // Array ( [0] => Apple ) ?>
2 つの要素のみそれらが等しく、同じデータ型を持つ場合にのみ、array_intersect() 関数はそれらを同じとみなします。
関連する推奨事項: "PHP チュートリアル "
連想配列 array_intersect_assoc()
関数 array_intersect_assoc() と array_intersect の交差() は、比較の際に配列のキーも考慮することを除いて、基本的に同じです。したがって、最初の配列に出現し、他のすべての入力配列にも出現するキーと値のペアのみが結果配列に返されます。
形式は次のとおりです:
array array_intersect_assoc(array array1,array array2[,arrayN…])
次の例は、$fruit1 配列に出現し、$fruit2 および $fruit3 にも出現するすべてのキーと値のペアを返します:
<?php $fruit1 = array("red"=>"Apple","yellow"=>"Banana","orange"=>"Orange"); $fruit2 = array("yellow"=>"Pear","red"=>"Apple","purple"=>"Grape"); $fruit3 = array("green"=>"Watermelon","orange"=>"Orange","red"=>"Apple"); $intersection = array_intersect_assoc($fruit1, $fruit2, $fruit3); print_r($intersection); // output // Array ( [red] => Apple ) ?>
2. 配列の違い array_diff()
関数 array_diff() は、最初の配列にはあるが、他の入力配列には存在しない値を返します。この関数は array_intersect() の逆です。
array array_diff(array array1,array array2[,arrayN…])
例は次のとおりです。
<?php $fruit1 = array("Apple","Banana","Orange"); $fruit2 = array("Pear","Apple","Grape"); $fruit3 = array("Watermelon","Orange","Apple"); $intersection = array_diff($fruit1, $fruit2, $fruit3); print_r($intersection); // output // Array ( [1] => Banana ) ?>
連想配列 array_diff_assoc() の差集合
#関数 array_diff_assoc() は基本的に同じですarray_diff() と同様ですが、比較時に配列のキーも考慮されます。したがって、最初の配列に現れ、他の入力配列には現れないキーと値のペアのみが結果配列に返されます。その形式は次のとおりです。array array_diff_assoc(array array1,array array2[,arrayN…])
rree
以上がPHPで配列の共通部分と差分を求める方法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。