PHPでは、アレイの比較は一般的な操作です。特に、2つの配列のキー価値ペアが正確に等しいかどうかを判断する必要がある場合。 PHPは、 array_diff_assoc()関数がこの状況に特に適しているアレイを比較するためのさまざまな内蔵機能を提供します。この記事では、array_diff_assoc()を使用する方法を紹介して、2つの配列がキー値のペアで正確に等しいかどうかを判断します。
array_diff_assoc()関数は、2つの配列のキー値ペアを比較するために使用され、最初の配列にキー値ペアを含む配列を返しますが、2番目の配列では返されません。言い換えれば、2つの配列のキー名と値がまったく同じかどうかをチェックし、不一致の部分を返します。
array_diff_assoc(array $array1, array $array2): array
パラメーター説明:
$ array1 :最初の配列。
$ array2 :2番目の配列。
返品値:
$ array1に存在するが$ array2にはないキー値ペアを含む新しい配列を返します。 2つの配列のキーと値が正確に一致する場合、返された結果は空の配列になります。
2つの配列のキー価値のペアが正確に等しいかどうかを判断したい場合、次の方法でそれを行うことができます。
array_diff_assoc()を使用して2つの配列を比較し、異なるキー値ペアがあるかどうかを確認します。
array_diff_assoc()が空の配列を返す場合、2つの配列のキー値ペアがまったく同じであることを意味します。
<?php
// アレイの例
$array1 = [
'name' => 'John',
'age' => 25,
'email' => 'john@example.com',
];
$array2 = [
'name' => 'John',
'age' => 25,
'email' => 'john@m66.net',
];
// 使用 array_diff_assoc 配列を比較します
$result = array_diff_assoc($array1, $array2);
// 2つの配列が正確に等しいかどうかを判断します
if (empty($result)) {
echo "2つの配列は、キー価値のペアで正確に等しい。\n";
} else {
echo "2つの配列には、キー価値のペアに不均等な部分があります:\n";
print_r($result);
}
?>
コード解析:
$ array2の電子メールキーの値は$ array1とは異なる2つのarray $ array1と$ array2を定義します。
array_diff_assoc($ array1、$ array2)を使用して、これら2つの配列を比較します。電子メールキー値が異なるため、関数は不均等な部分を含む配列を返します。
戻り結果が空の場合、2つの配列がキー価値のペアで正確に等しいことを意味します。それ以外の場合は、返された結果を表示して、違いを確認できます。
2つの配列には、キー価値のペアに不均等な部分があります:
Array
(
[email] => john@example.com
)
array_diff_assoc()が配列を比較すると、配列のキーを比較するだけでなく、各キーに対応する値も比較されます。このようにして、2つの配列が完全に等しいかどうかを正確に判断でき、 == OR ===オペレーターを使用するだけで引き起こされる潜在的な問題を回避できます。特に2つの配列を正確に比較する必要がある場合は、非常に実用的な配列比較ツールです。
array_diff_assoc()関数を使用することにより、PHP開発者はキー価値ペアの2つの配列間の違いを簡単に判断できます。返された空の配列の場合、2つの配列はキー価値のペアで正確に等しくなります。返された結果にキー価値のペアが含まれている場合、2つの配列に違いがあることを意味します。実際のアプリケーションでは、この機能は、データ検証、構成チェック、その他のシナリオに非常に適しています。