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 "两个数组相同";
echo "两个数组不同";
##$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;
以上がPHPで2つの配列を比較する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。