ホームページ >バックエンド開発 >PHPチュートリアル >PHP の array_diff() 関数: 2 つの配列を比較し、差分値を返す方法

PHP の array_diff() 関数: 2 つの配列を比較し、差分値を返す方法

王林
王林オリジナル
2023-11-03 13:31:55919ブラウズ

PHP の array_diff() 関数: 2 つの配列を比較し、差分値を返す方法

PHP の array_diff() 関数: 2 つの配列を比較して差分値を返す方法。具体的なコード例が必要です。

PHP 言語では、配列が最も一般的です。データ 一連のデータまたはレコードを保存するためによく使用される構造。 2 つの配列間の違いを比較する必要がある場合、PHP には便利な関数 array_diff() が用意されています。この関数は 2 つの配列を比較し、すべて異なる値を返します。

array_diff() 関数の構文は次のとおりです。

array array_diff ( array $array1 , array $array2 [, array $... ] )

Thisこの関数は 2 つまたは複数の配列を引数として受け取り、すべての個別の値を含む新しい配列を返します。これは、最初の配列の値を次の配列の値と比較し、残りの配列とは異なる最初の配列の値を返すことによって機能します。値がすべての配列で同じである場合、その値は返されません。

次に、簡単な例を通じて array_diff() 関数の使用法を示します。

まず、2 つの配列を定義しましょう:

$array1 = array("foo", "bar", "baz");
$array2 = array("bar", "qux");

これら 2 つの配列のうち、$array1 には 3 つの異なる文字列が含まれ、$array2 には 2 つの異なる文字列が含まれます。ここで、「bar」はそれらが共有する値です。

次に、array_diff() 関数を使用して 2 つの配列を比較し、異なる値をすべて返します:

$diff = array_diff($array1, $array2);
print_r($diff);

上記のコードの出力は次のとおりです:

Array
(
    [0] => foo
    [2] => baz
)

ご覧のとおり、$diff 配列には、$array2 とは異なる $array1 のすべての値が含まれています。両方の配列に存在する値「bar」は返されません。

さらに多くの配列パラメーターを使用して、複数の配列の値を比較することもできます。

$array3 = array("qux", "corge");
$diff = array_diff($array1, $array2, $array3);
print_r($diff);

上記のコードは、$array1 と $array2 および $array3 を組み合わせて、すべての差異を返します。値、出力結果は:

Array
(
    [0] => foo
    [2] => baz
)

3 番目の配列にある「qux」は $array2 にも存在するため、返されないことがわかります。

さらに、連想配列を比較する必要がある場合は、array_diff_assoc() 関数を使用できます。その使用法は array_diff() と似ていますが、配列内のキー値も比較します。

最後に、array_diff() 関数はキーではなく値のみを比較することに注意してください。たとえば、次の 2 つの配列の値は同じですが、キー値が異なります。

$array1 = array("foo" => 1, "bar" => 2, "baz" => 3);
$array2 = array("qux" => 1, "quux" => 2, "baz" => 3);

array_diff() を使用してこれら 2 つの配列を比較する場合、キー値ではなく、それらの値のみが比較されます。 。したがって、$array1 と $array2 は異なる配列とみなされます。

まとめると、array_diff() 関数は、複数の配列間の異なる値を比較して新しい配列を返すことができる、PHP の非常に便利な配列処理関数です。この関数を使用すると、配列をより便利に処理できます。

以上がPHP の array_diff() 関数: 2 つの配列を比較し、差分値を返す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。