Web アプリケーションを作成する場合、非常に一般的なタスクは、2 つの配列の内容が同じかどうかを比較することです。 PHP では、配列の内容を比較するには、特定の関数と演算子を使用する必要があります。
PHP では、比較演算子の使用、array_diff 関数の使用、array_intersect 関数の使用など、2 つの配列の内容を比較するさまざまな方法が提供されています。以下にそれぞれの方法を紹介します。
PHP の比較演算子には、等号 (==) とすべて等しい (===) が含まれます。これら 2 つの演算子を使用すると、2 つの配列が等しいかどうかを簡単に比較できます。
等価演算子 (==) は、型に関係なく、2 つの配列の値が等しいかどうかを比較します。例:
$arr1 = array("apple", "banana", "orange"); $arr2 = array("apple", "orange", "banana"); if ($arr1 == $arr2) { echo "两个数组相等"; } else { echo "两个数组不相等"; }
この例では、要素の順序は異なっていますが、値は同じである 2 つの配列を比較します。したがって、「両方の配列が等しい」と出力されます。
等価演算子 (===) は、2 つの配列の値と型がまったく同じかどうかを比較します。例:
$arr1 = array("apple", "banana", "orange"); $arr2 = array("apple", "orange", "banana"); if ($arr1 === $arr2) { echo "两个数组相等"; } else { echo "两个数组不相等"; }
この例では、2 つの配列は、要素の順序が異なっていても等しいとはみなされません。
array_diff 関数は、2 つの配列の差を比較するために使用されます。最初の配列には存在するが 2 番目の配列には存在しない要素を返します。
例:
$arr1 = array("apple", "banana", "orange"); $arr2 = array("apple", "orange"); $diff = array_diff($arr1, $arr2); if (count($diff) == 0) { echo "两个数组相等"; } else { echo "两个数组不相等"; }
この例では、arr1 と arr2 を比較します。 array_diff 関数は、array1 には存在するが array2 には存在しない要素 (「バナナ」) を返します。したがって、$diff 配列が空の場合、2 つの配列が等しいことがわかります。
array_intersect 関数は、2 つの配列の共通部分 (つまり、2 つの配列に含まれるすべての要素) を比較するために使用されます。配列内のすべての要素が同じである場合、2 つの配列は等しいとみなされます。
例:
$arr1 = array("apple", "banana", "orange"); $arr2 = array("orange", "apple"); $intersect = array_intersect($arr1, $arr2); if (count($intersect) == count($arr1) && count($intersect) == count($arr2)) { echo "两个数组相等"; } else { echo "两个数组不相等"; }
この例では、arr1 と arr2 を比較します。 array_intersect 関数は、両方の配列に存在する要素、つまり「apple」と「orange」を返します。したがって、返された交差部分に両方の配列のすべての要素が含まれている場合、2 つの配列が等しいことがわかります。
概要
PHP では、2 つの配列の内容を比較するには、特定の関数と演算子を使用する必要があります。比較演算子、array_diff 関数、array_intersect 関数などが使用できます。 2 つの配列が等しいかどうかを確認するには、アプリケーションに最適な方法を選択することをお勧めします。
以上がPHP は 2 つの配列の内容が同じかどうかを判断しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。