ホームページ >バックエンド開発 >PHPチュートリアル >PHPの配列関数のarray_diff_key()の使い方を詳しく解説
人気のプログラミング言語である PHP の配列関数も非常に強力です。 2 つの配列のキー名を比較する必要がある場合は、array_diff_key() 関数を使用できます。この関数は、最初の配列にはあるが 2 番目の配列には存在しないキー名を見つけて、配列間の違いを比較するのに役立ちます。この記事ではarray_diff_key()関数の使い方を詳しく紹介します。
array_diff_key() 関数の構文は次のとおりです。
array array_diff_key ( array $array1 , array $array2 [, array $... ] )
この関数は複数の配列をパラメータとして受け取ります。最初のパラメータは次のとおりです。元の配列、後続のパラメータは比較される配列です。この関数は、最初の配列には存在するが他の配列には存在しないキーに対応する新しい配列を返します。
たとえば、2 つの配列があります:
$array1 = array('name' => 'Peter', 'age' => 20, 'address' => 'Shanghai'); $array2 = array('name' => 'Mike', 'sex' => 'male', 'address' => 'Beijing');
次のコードを通じてこれら 2 つの配列を比較できます:
$result = array_diff_key($array1, $array2); print_r($result);
出力結果は次のとおりです:
Array ( [age] => 20 )
結果からわかるように、キー名 'age' の要素のみを含む新しい配列が得られました。これは、'age' が $array1 にのみ存在し、$array2 には存在しないためです。
array_diff_key() 関数は配列のキー名のみを比較し、キー値は比較しないことに注意してください。したがって、2 つの配列内の一部のキーが同じキー値に対応する場合でも、関数はそれらを相違点としてリストします。
array_diff_key() 関数は、複数の配列間の差異の比較もサポートします。たとえば、3 つの配列があります:
$array1 = array('name' => 'Peter', 'age' => 20, 'address' => 'Shanghai'); $array2 = array('name' => 'Mike', 'sex' => 'male', 'address' => 'Beijing'); $array3 = array('name' => 'Lucas', 'age' => 22, 'hobby' => 'swimming');
次のコードを通じてこれら 3 つの配列を比較できます:
$result = array_diff_key($array1, $array2, $array3); print_r($result);
出力結果は次のとおりです:
Array ( [age] => 20 )
結果からわかるように、「age」は $array1 にのみ存在し、他の 2 つの配列には存在しないため、キー名「age」を持つ要素のみを含む新しい配列が得られます。
array_diff_key() 関数は、2 つ以上の配列間の違いを素早く見つけるのに役立つ非常に便利な PHP 配列関数です。この関数を使用する場合、キー値ではなく配列のキー名のみを比較することに注意する必要があります。
以上がPHPの配列関数のarray_diff_key()の使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。