PHP では、2 つの配列内の異なる要素を取得するには、array_diff() 関数を使用できます。この関数は、配列 1 には存在するが配列 2 には存在しない要素で構成される新しい配列を返します。
次の例は、比較する 2 つの配列が $arr1 と $arr2 であると仮定しています。
$arr1 = array("apple", "banana", "orange"); $arr2 = array("banana", "orange", "pear", "kiwi"); $result = array_diff($arr1, $arr2); print_r($result); // 输出:Array ( [0] => apple )
この例では、$arr1 の "apple" 要素は$arr2 が出現するので、$result 配列に返されます。
ただし、array_diff() は 1 次元配列のみを比較することに注意してください。多次元配列を比較したい場合は、再帰関数を自分で記述する必要があります。多次元配列を比較する例を次に示します。
function array_diff_multi($arr1, $arr2) { $diff = array(); foreach ($arr1 as $key => $value) { if (is_array($value) && isset($arr2[$key]) && is_array($arr2[$key])) { $diff[$key] = array_diff_multi($value, $arr2[$key]); } else { if (!in_array($value, $arr2)) { $diff[$key] = $value; } } } return $diff; } $arr1 = array("fruit" => array("apple", "banana", "orange"), "color" => "blue"); $arr2 = array("fruit" => array("banana", "orange", "pear", "kiwi"), "color" => "red"); $result = array_diff_multi($arr1, $arr2); print_r($result); // 输出:Array ( [fruit] => Array ( [0] => apple ) [color] => blue )
この例では、2 つの多次元配列を比較できるカスタム関数 array_diff_multi() を作成します。再帰を使用して各部分配列の要素を比較します。
つまり、PHP では 2 つの配列の異なる要素を取得する方法がたくさんあります。 array_diff() 関数は、最も単純で最も一般的に使用されるメソッドの 1 つですが、1 次元配列でのみ機能します。多次元配列を比較する場合は、カスタム再帰関数を使用する必要があります。
以上がPHPで2つの配列の異なる値を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。