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

PHP でループを使用せずに多次元配列から特定のキー値を効率的に抽出するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-05 13:20:10817ブラウズ

How Can I Efficiently Extract Specific Key Values from Multidimensional Arrays in PHP Without Loops?

ループせずに多次元配列から特定のキー値を取得する

多次元配列を操作する場合、多くの場合、リソースを使用せずに特定のキー値を抽出することが必要になります。手動ループにします。この課題は、PHP の組み込み配列関数を使用して効率的に解決できます。

array_column() の使用

PHP バージョンが 5.5 以降の場合は、array_column を活用できます。 () 関数を使用すると、次の 1 行でこの目標を達成できます。コード:

$ids = array_column($users, 'id');

この関数は、指定されたキー (この場合は「id」) に関連付けられたすべての値を入力配列から取得し、目的のキー値の配列を効果的に作成します。

PHP 5.5 より前の代替案

5.5 より前の PHP バージョンを使用している場合は、次の代替案を検討できます。

匿名関数での array_map() の使用

PHP 5.3 以降では、匿名関数で array_map() を使用できます。

$ids = array_map(function ($ar) {return $ar['id'];}, $users);

このアプローチは、指定された関数を入力配列の各要素に適用し、変換された値の配列を返します。 (つまり、この場合の 'id' 値)。

array_map() と create_function() の使用

PHP 4.0.6 以降の場合 (ただし、技術的にはそれより前) -PHP 5.2)、次を使用して匿名関数を作成できます。 create_function():

$ids = array_map(create_function('$ar', 'return $ar["id"];'), $users);

このアプローチは前のアプローチと似ていますが、create_function() を使用してその場で匿名関数を定義します。

以上がPHP でループを使用せずに多次元配列から特定のキー値を効率的に抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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