ホームページ > バックエンド開発 > PHPチュートリアル > PHP でオブジェクトの配列からプロパティの列を抽出するにはどうすればよいですか?

PHP でオブジェクトの配列からプロパティの列を抽出するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-20 09:02:30
オリジナル
559 人が閲覧しました

How to Extract a Column of Properties from an Array of Objects in 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 サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート