多次元配列を操作する場合、従来のループ方法を使用して特定のキー値を取得するのは面倒な場合があります。 PHP には、このプロセスを効率的に促進するいくつかの組み込み関数が用意されています。
array_column() の使用 (PHP 5.5 以降)
PHP バージョンが 5.5 以降の場合、 array_column() 関数を利用して、多次元配列から特定のキーの配列を抽出できます。これは、最新のプロジェクトに推奨されるソリューションです。
$users = array( array( 'id' => 'xxx', 'name' => 'blah', ), array( 'id' => 'yyy', 'name' => 'blahblah', ), array( 'id' => 'zzz', 'name' => 'blahblahblah', ), ); $ids = array_column($users, 'id'); print_r($ids); // Output: [xxx, yyy, zzz]
array_map() と匿名関数の使用 (PHP 5.3 以降)
PHP バージョン 5.3 から 5.5 の場合、array_map() を匿名関数と組み合わせて使用すると、同様のことを実現できます。
$ids = array_map(function ($ar) { return $ar['id']; }, $users); print_r($ids); // Output: [xxx, yyy, zzz]
create_function() の使用 (PHP 4.0.6 以降)
PHP 5.3 より前では、create_function() を使用して匿名関数を作成していました。
$ids = array_map(create_function('$ar', 'return $ar["id"];'), $users); print_r($ids); // Output: [xxx, yyy, zzz]
これらの組み込み関数を活用することで、効率的に明示的なループ構造に頼ることなく、多次元配列から特定のキー値を抽出し、簡潔で最適化されたコードを生成します。
以上がPHP でループを使用せずに多次元配列からキーを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。