ホームページ >バックエンド開発 >PHPチュートリアル >PHP でループを使用せずに多次元配列から特定のキー値を効率的に抽出するにはどうすればよいですか?
ループせずに多次元配列から特定のキー値を取得する
多次元配列を操作する場合、多くの場合、リソースを使用せずに特定のキー値を抽出することが必要になります。手動ループにします。この課題は、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 サイトの他の関連記事を参照してください。