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() 関数の使用法を示します。
以下に示すように、元の配列 $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' が含まれていることがわかります。最終的に返される配列には、これらのキー名のみが含まれます。
以下に示すように、複数の配列のキー値を同時に比較することもできます。実行出力結果は次のとおりです。
$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 内のキー名に一致するが、後続のターゲット配列には存在しないすべてのキー名を検索し、これらのキー名を含む配列を返します。
例 3Array ( [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 サイトの他の関連記事を参照してください。