PHP は、Web サイト開発やデータ対話で広く使用されているサーバー側スクリプト言語です。 2 つの配列を比較することも基本的な操作の 1 つです。この記事では、2 つの配列を比較するためのいくつかの異なる方法を紹介します。
1. == および === 演算子を使用する
「==」および「===」演算子を使用するのは、2 つの配列を比較する一般的な方法です。 2 つの演算子の違いは、「==」演算子は 2 つの配列のキー値が同じかどうかを比較するのに対し、「===」演算子は 2 つの配列の型が同じであるかどうかも比較することです。同じ。
たとえば、$arr1 = array(1, 2, 3); と $arr2 = array(1, 2, 3); という 2 つの配列があると仮定すると、「==」演算子を使用して比較します。 2 つの配列。配列:
if($arr1 == $arr2){
echo "两个数组相同";
}else{
echo "两个数组不同";
}
If you use " === 演算子は 2 つの配列を比較します:
if($arr1 === $arr2){
echo "两个数组相同";
}else{
echo "两个数组不同";
}
2. array_diff 関数の使用
array_diff 関数の使用は、2 つの配列を比較する方法でもあります。この関数は、array2 にはない array1 の要素で構成される新しい配列を返します。
たとえば、$arr1 = array(1, 2, 3); と $arr2 = array(2, 3); という 2 つの配列があると仮定すると、array_diff 関数を使用して 2 つの配列を比較します。
##$diff = array_diff($arr1, $arr2);if(count($diff) == 0){
echo "两个数组相同";}else{
echo "两个数组不同";} 上記の例では、$diff 配列の長さが 0 の場合、$arr1 と $arr2 の要素が同じであることを意味し、出力は「2 つの配列は同じ」となります。それ以外の場合は、$arr1 と $arr2 の要素が同じであることを意味し、異なる場合は、出力は「2 つの配列は異なります」となります。 3. array_intersect 関数を使用する array_intersect 関数を使用することも、2 つの配列を比較する方法です。この関数は、array1 と array2 の両方に含まれる要素で構成される新しい配列を返します。 たとえば、$arr1 = array(1, 2, 3); と $arr2 = array(2, 3); という 2 つの配列があると仮定すると、array_intersect 関数を使用して 2 つの配列を比較します。
##$intersect = array_intersect($arr1, $arr2);
if(count($intersect) == count($arr1)){echo "两个数组相同";
echo "两个数组不同";
}
上記の例では、$intersect 配列の要素数が $arr1 の要素数と等しい場合、$arr1 と $arr2 の要素が同じであることを意味します。 、「2 つの配列は同じです」と出力されます。それ以外の場合は、$arr1 と $arr2 の要素が異なることを意味し、出力は「2 つの配列は異なります」となります。
4. array_udiff 関数を使用する
array_udiff 関数を使用することも、2 つの配列を比較する方法です。この関数は、配列 1 の要素と配列 2 の要素を比較し、2 つの要素が等しいとみなされる場合、それらは結果の配列には含まれません。
たとえば、$arr1 = array(1, 2, 3); と $arr2 = array(2, 3); という 2 つの配列があると仮定すると、array_udiff 関数を使用して 2 つの配列を比較します。
##$diff = array_udiff($arr1, $arr2, function($a, $b){if($a === $b){ return 0; } return ($a > $b) ? 1 : -1;});$diff 配列の長さが0 は、$arr1 と $arr2 の要素が同じである場合は、「2 つの配列は同じです」を出力します。それ以外の場合は、$arr1 と $arr2 の要素が異なることを意味し、「2 つの配列は同じです」と出力します。違う"。 概要上記では 2 つの配列を比較する 4 つの方法を紹介しましたが、それぞれの方法には長所と短所があります。さまざまな方法を使用することで、特定のアプリケーション シナリオに応じて最適な方法を選択できます。同時に、2 つの配列を比較するとき、特に「==」演算子を使用するときは、配列内の要素の順序に注意してください。配列内の要素の順序が異なると、問題が発生する可能性があるためです。配列は異なります。
以上がPHPで2つの配列を比較する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。