PHP 5.5バージョンでは、公式は非常に実用的な新しい機能であるArray_Columnを導入しました。この関数は、多次元配列から指定されたデータの列を簡単に抽出でき、複雑な配列を処理するときに開発者のワークロードを大幅に簡素化できます。
毎日の開発では、多くの場合、すべてのユーザーの名前やすべての注文の量を抽出するなど、多次元配列から特定の列データを抽出する必要があります。従来の方法では、通常、配列をループする必要があり、 array_column関数はコードの単純な行を使用してこのタスクを完了することができます。
array_column関数の基本的な構文は次のとおりです。
array_column(array $ array、mixed $ column_key [、mixed $ index_key = null]))
$配列:抽出する必要がある多次元配列。
$ column_key :ターゲット列のキーまたはインデックス。
$ index_key (オプション):配列インデックスのキーを指定します。
array_column関数を使用する前に、PHPバージョンが5.5以上に更新されていることを確認してください。
ユーザー情報を保存する配列があるとしますが、すべてのユーザー名をarray_columnを介して簡単に抽出できるとします。
$ data = array( array( 'id' => 1、 'name' => 'john'、 'age' => 25)、 array( 'id' => 2、 'name' => 'mary'、 'age' => 28)、 array( 'id' => 3、 'name' => 'tom'、 'age' => 30)、 array( 'id' => 4、 'name' => 'lisa'、 'age' => 23) ); $ names = array_column($ data、 'name'); print_r($ names);
出力結果:
配列 ( [0] =>ジョン [1] =>メアリー [2] =>トム [3] => lisa ))
この例では、 array_column関数は、 $ data arrayのすべてのユーザーの名前を抽出し、 $ names arrayに保存します。
この例では、 $ index_keyを指定し、対応する年齢データを抽出することにより、ユーザーの名前を配列のインデックスとして使用します。
$ ages = array_column($ data、 'age'、 'name'); print_r($ ages);
出力結果:
配列 ( [ジョン] => 25 [メアリー] => 28 [トム] => 30 [lisa] => 23 ))
この時点で、 $ ages配列のキーがユーザーの名前になり、値は対応する年齢です。これにより、データがより明確に編成され、すばやく検索できます。
Array_Columnの最大の利点は、そのシンプルさと効率です。従来の方法では配列をループする必要がありますが、 array_columnは列名を直接指定してターゲットデータを自動的に抽出し、コードの量を減らします。
さらに、一部の列のデータが複数の配列で繰り返される場合、 array_columnは表示される最後の値を返します。値のすべての発生を取得する必要がある場合は、関数の3番目のパラメーターを使用して配列のインデックスを指定できます。
Array_Column関数は、PHP 5.5バージョンに追加された重要な新機能であり、多次元アレイを扱うときに開発者をより効率的かつ簡潔にするのに役立ちます。 PHPバージョンを5.5以上にアップグレードした場合は、この機能をすぐに使用して配列操作を簡素化することをお勧めします。それを通して、複雑なループ構造を作成せずに特定の列データを簡単に抽出し、コードの読みやすさとメンテナンスを改善できます。