PHPアレイ等自己チェック方法
PHPでは、2つの配列が等しいかどうかを判断することは、配列要素が同じであり、順序が一貫しており、データ型が一致することを意味します。この記事では、PHPで配列の平等を確認するためのいくつかの方法を紹介します:
暴力法
このメソッドは最初に2つの配列を並べ替え、次に演算子を使用して比較します。要素の順序が比較結果に影響しないことを確認するために並べ替えます。 ==
例:
<?php $array1 = [3, 2, 1]; $array2 = [1, 2, 3]; sort($array1); sort($array2); if ($array1 == $array2) { echo "数组相等"; } else { echo "数组不相等"; } ?>
output:
<code>数组相等</code>
時間の複雑さ:o(n log n) スペースの複雑さ:o(1)
オペレーター==
を使用します
演算子は、2つの配列が同じサイズであり、同じ要素が含まれているかどうかを確認し、順序も同じでなければなりません。この方法はシンプルで使いやすいですが、データ型では厳密ではありません。たとえば、整数3と文字列「3」は等しいと見なされます。 ==
例:
<?php $arr1 = [1, 2, 3, 4]; $arr2 = [1, 2, 3, 4]; if ($arr1 == $arr2) { echo "数组相等"; } else { echo "数组不相等"; } ?>
output:
<code>数组相等</code>
時間の複雑さ:o(n) スペースの複雑さ:o(1)
メソッドを使用array_diff()
が空の配列を返す場合、2つの配列が等しいことを意味します。この方法は、多くの場合、無秩序でユニークな要素の配列を比較するために使用されます。 array_diff()
例:
<?php $array1 = [1, 2, 3]; $array2 = [3, 2, 1]; if (empty(array_diff($array1, $array2)) && empty(array_diff($array2, $array1))) { echo "数组相等"; } else { echo "数组不相等"; } ?>
output:
<code>数组相等</code>
時間の複雑さ:o(n) スペースの複雑さ:o(n)
オペレーター===
を使用します
オペレーターは厳格な配列要素の比較を実行します。
===
<?php $array1 = [1, 2, 3, 4]; $array2 = [1, 2, '3', 4]; if ($array1 === $array2) { echo "数组相等"; } else { echo "数组不相等"; } ?>
<code>数组不相等</code>
o(n) スペースの複雑さ:o(1)
メソッドがより適しています。 ブルートフォースの方法は無秩序なアレイを処理できますが、比較的非効率的です。 ===
以上がPHPで2つの配列が等しいかどうかを確認する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。