ホームページ >バックエンド開発 >PHPチュートリアル >PHP でオブジェクトの配列からプロパティの列を抽出するにはどうすればよいですか?
PHP: オブジェクトの配列からプロパティの列を効率的に抽出する
多くのプログラミング シナリオでは、オブジェクトの配列の操作が必要になります。複数のプロパティを持つことができます。場合によっては、各オブジェクトから特定のプロパティを抽出して個別の配列を形成することが必要になることがあります。 PHP では、ループや外部関数に頼らずに 1 行でこの目標を達成するのは難しい場合があります。
考えられるアプローチの 1 つは、array_walk() 関数を create_function とともに利用することです。ただし、より単純で洗練されたソリューションが PHP 7.0 以降で利用可能です。
array_column() から Rescue
array_column() 関数は PHP 7.0 で導入されました。また、配列の配列またはオブジェクトの配列から特定のデータ列を抽出できます。最初のパラメータとしてオブジェクトの配列を渡し、2 番目のパラメータとして目的のプロパティの名前を渡すだけです:
<code class="php">$idCats = array_column($cats, 'id');</code>
この例では、$idCats 変数にはすべてのプロパティの ID の配列が含まれるようになります。
7.0 より前の PHP バージョンに関する注意
7.0 より前の PHP バージョンを使用している場合でも、array_map() 関数を使用できます。
<code class="php">$idCats = array_map(function($cat) { return $cat->id; }, $cats);</code>
このメソッドは少し冗長ですが、同じ結果が得られます。
array_column() または array_map() を利用すると、配列からプロパティの列を効率的に抽出できます。 PHP 内のオブジェクトの数を増やすことで、コードを合理化し、パフォーマンスを向上させることができます。
以上がPHP でオブジェクトの配列からプロパティの列を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。