ホームページ >バックエンド開発 >PHPチュートリアル >PHP でループを使用せずに多次元配列からキーを取得するにはどうすればよいですか?

PHP でループを使用せずに多次元配列からキーを取得するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-06 14:26:12362ブラウズ

How Can I Retrieve Keys from Multidimensional Arrays in PHP Without Loops?

ループを使用せずに多次元配列からキーを取得する

多次元配列を操作する場合、従来のループ方法を使用して特定のキー値を取得するのは面倒な場合があります。 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 サイトの他の関連記事を参照してください。

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