PHP 開発では、2 つの配列内の異なる値を比較することが必要になることがよくあります。 2 つの配列の値を比較して操作する必要がある場合、2 つの配列内の異なる値を見つける必要があります。この記事では、PHP で 2 つの配列の異なる値を見つける方法とサンプル コードを説明します。
方法 1: array_diff 関数
array_diff 関数を使用すると、2 つの配列内の異なる値を見つけることができます。この関数は 2 つ以上の配列をパラメータとして受け入れることができ、最初の配列には存在するが他の配列には存在しない値を含む新しい配列を返します。
この関数の構文は次のとおりです。
array array_diff (array $array1 , array $array2 [, array $... ])
そのうち、 $ array1 は、比較する最初の配列が必要であることを意味します。$array2 および後続のパラメーターは、$array1 と比較する必要がある他の配列を表します。
以下は、2 つの配列を作成し、array_diff 関数を使用して 2 つの配列の異なる値を見つける簡単なコード例です。
$arr1 = array("apple", "banana", "orange"); $arr2 = array("banana", "orange", "pear"); $result = array_diff($arr1, $arr2); print_r($result);
コードを実行すると、結果は次のようになります。出力:
Array ( [0] => apple )
ご覧のとおり、このコードは 2 つの配列 $arr1 と $arr2 を比較し、異なる値 (つまり、$arr1 の "apple") を出力します。
方法 2: array_unique 関数
2 つの配列内の異なる値を見つけるもう 1 つの方法は、array_unique 関数を使用することです。この関数は、配列から重複した値を削除し、重複した値を削除した後に新しい配列を返すことができます。 array_unique 関数と array_merge 関数を使用すると、2 つの配列内の異なる値を見つけることができます。
次は、array_unique 関数と array_merge 関数を使用するサンプル コードです:
$arr1 = array("apple", "banana", "orange"); $arr2 = array("banana", "orange", "pear"); $arr3 = array_merge($arr1, $arr2); $result = array_diff($arr3, array_unique($arr3)); print_r($result);
コードを実行すると、出力結果は次のようになります:
Array ( [0] => banana [1] => orange )
ご覧のとおり、コードは最初に array_merge 関数を使用して $arr1 と $arr2 をマージし、次に array_unique 関数を使用して重複した値を削除し、最後に array_diff 関数を使用して異なる値を見つけて出力します。
方法 3: foreach ループ
2 つの配列内の異なる値を見つけるもう 1 つの方法は、foreach ループを使用することです。このメソッドは 2 つの配列を反復処理し、異なる値を新しい配列に保存します。
以下は、foreach ループを使用してさまざまな値を検索するサンプル コードです:
$arr1 = array("apple", "banana", "orange"); $arr2 = array("banana", "orange", "pear"); $result = array(); foreach ($arr1 as $value) { if (!in_array($value, $arr2)) { $result[] = $value; } } foreach ($arr2 as $value) { if (!in_array($value, $arr1)) { $result[] = $value; } } print_r($result);
コードを実行すると、出力結果は次のようになります:
Array ( [0] => apple [1] => pear )
ご覧のとおり、コードはまず $arr1 を走査して $result 配列に異なる値を格納し、次に $arr2 を走査して $result 配列に異なる値を格納します。
要約すると、array_diff 関数、array_unique 関数、foreach ループなどのさまざまな方法を使用して、2 つの配列内の異なる値を見つけることができます。実際の開発では、さまざまな状況に応じて適切な方法を選択できます。
以上がPHPの2つの配列の異なる値の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。