ホームページ  >  記事  >  バックエンド開発  >  PHPのarray_diff_key()関数の使い方を詳しく解説

PHPのarray_diff_key()関数の使い方を詳しく解説

WBOY
WBOYオリジナル
2023-06-27 09:23:572019ブラウズ

PHP では、配列は非常に一般的なデータ型です。多くの場合、異なる配列を比較して処理する必要があります。 PHP の array_diff_key() 関数は、2 つ以上の配列のキー値を比較し、配列間の差分処理を実装することができ、非常に便利です。この記事では、PHPのarray_diff_key()関数の使い方と例を詳しく紹介します。

1. array_diff_key() 関数の概要

array_diff_key() 関数は、PHP の組み込み関数の 1 つです。その機能は、最初の配列には存在するが、後続の 1 つ以上の配列には存在しないキーを検索し、これらのキーで構成される配列を返すことです。

この関数の構文は次のとおりです。

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

そのうち、array1比較する必要があります。 元の配列 array2 は、比較する必要があるターゲット配列です。 3 番目の配列が指定された場合、関数はこの配列との比較を継続し、最後の配列まで同様に続きます。

2. array_diff_key() 関数の戻り値

array_diff_key() 関数は配列を返します。配列に格納された内容は最初の配列に存在しますが、後続の配列またはキー名の場合に存在します。複数の配列に存在しない場合、返される配列のキー名は元の配列のキー名となり、返される配列のキー値は元の配列のキー値となります。

元の配列とターゲット配列が完全に一致している場合、array_diff_key() 関数は空の配列を返します。

3. array_diff_key() 関数の使用例

次に、いくつかの例を通して array_diff_key() 関数の使用法を示します。

  1. 例 1

以下に示すように、元の配列 $firstArray とターゲット配列 $targetArray があるとします。

$firstArray = array('name'=>'Tom', 'age'=>25, 'sex'=>'male', 'hobby'=>'reading');
$targetArray = array('age'=>20, 'hobby'=>'sport');

次に、Find を実行します。 $firstArray には存在するが、$targetArray には存在しないキー名。次のコードを使用できます:

$result = array_diff_key($firstArray, $targetArray);
print_r($result);

実行出力は次のとおりです:

Array
(
    [name] => Tom
    [sex] => male
)

ここでは、$firstArray には存在するが $targetArray には存在しないキー名に 'name' が含まれていることがわかります。最終的に返される配列には、これらのキー名のみが含まれます。

  1. 例 2

以下に示すように、複数の配列のキー値を同時に比較することもできます。実行出力結果は次のとおりです。

$firstArray = array('name'=>'Tom', 'age'=>25, 'sex'=>'male', 'hobby'=>'reading');
$targetArray1 = array('age'=>20, 'hobby'=>'sport');
$targetArray2 = array('name'=>'Jack', 'hobby'=>'music');
$result = array_diff_key($firstArray, $targetArray1, $targetArray2);
print_r($result);

同様に、この関数は、$firstArray 内のキー名に一致するが、後続のターゲット配列には存在しないすべてのキー名を検索し、これらのキー名を含む配列を返します。

例 3
  1. 以下に示すように、ループを使用して複数の配列を比較することもできます。
Array
(
    [age] => 25
    [sex] => male
)

実行出力は次のとおりです。

$firstArray = array('name'=>'Tom', 'age'=>25, 'sex'=>'male', 'hobby'=>'reading');
$targetArray1 = array('age'=>20, 'hobby'=>'sport');
$targetArray2 = array('name'=>'Jack', 'hobby'=>'music');
$targetArray3 = array('name'=>'Tom', 'age'=>25);
$targetArrays = array($targetArray1, $targetArray2, $targetArray3);
$result = $firstArray;
foreach($targetArrays as $targetArray){
    $result = array_diff_key($result, $targetArray);
}
print_r($result);

ここでは、ループを使用して複数の配列を比較します。まず、結果の配列を元の配列 $firstArray に初期化し、次にすべてのターゲット配列を 1 つずつ比較し、array_diff_key() 関数を使用して、一致しないすべてのキーを見つけます。ターゲット配列に存在する名前。

4. 概要

上記の例を通して、array_diff_key() 関数が非常にシンプルかつ実用的であることがわかり、複数の配列間で比較したり相違したりするのに簡単に役立ちます。 。つまり、この関数の使い方をマスターすれば、PHP で配列をより適切に処理および管理できるようになります。

以上がPHPのarray_diff_key()関数の使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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