PHPでは、 array_diff_key()関数は非常に便利な配列関数であり、指定されたキー値ペアを配列から削除できるようにします。この関数は、最初の配列にキー価値ペアを含むが2番目の配列ではない2つの配列のキーを比較することにより、配列を返します。
array_diff_key(array $array1, array $array2, array ...$arrays): array
$ array1 :「減算」操作を実行する配列。
$ array2 :除外する必要がある配列は、$ array2と同じキーを持つ$ array1の要素を削除します。
... $配列:複数の配列を渡すことができ、複数の配列のキーをさらに除外できます。
この関数は、 $ array1の要素を含む新しいアレイを返します。キーは$ array2または他のアレイに存在しません。
不要なキー価値ペアを削除する次の配列があるとします。
$array1 = [
'name' => 'John',
'age' => 25,
'city' => 'New York',
'country' => 'USA'
];
$array2 = [
'age' => 0,
'city' => ''
];
// 使用 array_diff_key 配列を削除します $array1 社内 'age' そして 'city' キー価値のペア
$result = array_diff_key($array1, $array2);
print_r($result);
出力:
Array
(
[name] => John
[country] => USA
)
この例では、 array_diff_key()関数を介して$ array1から「年齢」と「都市」キーを削除します。この関数は、 $ array1と$ array2のキーを比較し、 $ array2にない$ array1のキーのみを比較します。
array_diff_key()関数は、パラメーターとして複数の配列もサポートします。以下は、複数の配列を使用してキー価値ペアを削除する方法を示す例です。
$array1 = [
'name' => 'Alice',
'age' => 30,
'gender' => 'female',
'email' => 'alice@m66.net'
];
$array2 = [
'age' => 0,
'gender' => ''
];
$array3 = [
'email' => ''
];
// 使用 array_diff_key 去除多个数组社内键
$result = array_diff_key($array1, $array2, $array3);
print_r($result);
出力:
Array
(
[name] => Alice
)
この例では、 $ array1から「年齢」 、 「性別」 、 「電子メール」キーを同時に削除します。関数は、$ array1のキーが$ array2と$ array3であるかどうかをチェックします。もしそうなら、キー値ペアが削除されます。
配列キーの一貫性を保持: array_diff_key()は、値に関係なく、配列のキーのみを比較します。値を比較する必要がある場合は、 array_diff()またはarray_diff_assoc()を使用できます。
空の配列処理:合格した配列が空の場合は、比較できる要素がないため、元の配列に戻ります。
多次元配列: array_diff_key()関数は、配列の最初のレイヤーキーのみを比較します。配列が多次元配列の場合、 array_diff_key()をレイヤーごとに適用する必要があります。
array_diff_key()関数を介して、PHPは、アレイを「減算」するための簡潔で効率的な方法を提供し、不要なキー価値ペアを削除します。この関数を使用して、配列の細粒制御を使用し、不要な要素を削除し、コードをより簡潔で保守可能にすることができます。