広く使用されているプログラミング言語である PHP は、配列を処理するときに 2 つの配列間の異なる値を比較する必要がよくあります。この記事では、2 つの配列の異なる値を見つけるための PHP メソッドをいくつか紹介します。
方法 1: array_diff() 関数を使用する
array_diff() 関数は、2 つの配列間の異なる値を比較する場合に非常に便利で、次のように使用されます。コードでは、2 つの配列 $array1 と $array2 を定義し、$array2 とは異なる値を $array1 から見つけます。 $array1 には存在するが $array2 には存在しない値を返します。出力結果は次のようになります:
<?php $array1 = array("a" => "apple", "b" => "banana", "c" => "cherry", "d" => "date"); $array2 = array("a" => "apple", "b" => "banana", "g" => "grape"); $result = array_diff($array1, $array2); print_r($result); ?>
方法 2: array_udiff() 関数を使用する
比較する必要がある配列要素が単なる値ではなく、より高度な比較も必要な場合は、array_udiff を使用する必要があります。 () 関数を使用すると、比較にカスタム コールバック関数を使用できるようになります。使用法は次のとおりです。Array ( [c] => cherry [d] => date )
<?php function compare($x, $y) { if ($x === $y) { return 0; } return ($x > $y) ? 1 : -1; } $array1 = array("apple", "banana", "cherry", "date"); $array2 = array("apple", "banana", "grape"); $result = array_udiff($array1, $array2, "compare"); print_r($result); ?>
方法 3: array_diff_key() 関数を使用する
2 つの配列の値 (値) ではなく、キー (キー) のみを比較する必要がある場合は、次のようにします。 array_diff_key()関数を使用できます。両方の配列でキーが一致しない値を返します。使用法は次のとおりです。Array ( [2] => cherry [3] => date )
<?php $array1 = array("a" => "apple", "b" => "banana", "c" => "cherry"); $array2 = array("a" => "apple", "b" => "banana", "d" => "date"); $result = array_diff_key($array1, $array2); print_r($result); ?>
方法 4: array_udiff_assoc() 関数を使用する
2 つの多次元配列の異なる値を比較する必要がある場合は、array_udiff_assoc( ) 関数は、array_udiff( ) 関数と同じように使用されますが、多次元配列の比較をサポートする点を除いて類似しています。使用法は次のとおりです。Array ( [c] => cherry )
<?php function compare($x, $y) { if ($x === $y) { return 0; } return ($x > $y) ? 1 : -1; } $array1 = array("a" => "apple", "b" => "banana", "c" => "cherry"); $array2 = array("a" => "apple", "b" => "banana", "d" => "date"); $result = array_udiff_assoc($array1, $array2, "compare"); print_r($result); ?>
結論
PHP は、2 つの配列間の異なる値を比較するための非常に豊富な関数を提供します。 array_diff() または array_udiff() 関数を使用して通常の配列間の異なる値を比較し、array_diff_key() 関数を使用して異なるキー値を持つ配列間の異なる値を比較し、array_udiff_assoc() 関数を使用して比較することができます。異なる値の多次元配列。これらの関数の使用をマスターすると、PHP 開発中のデータ処理に非常に役立ちます。
以上がPHPで2つの配列の異なる値を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。