ITコラム

PHP 配列 column

初心者向け技術

2019.03.29

PHP【 配列 】array_column で同一キーの値を取得

PHP には、多次元配列に対して 同じキーの値を取得する array_column 関数があります。
今回は array_column 関数の使用方法を紹介します。

配列については以下の記事もご参照下さい。
PHP【 配列 】複数の値を保持するデータ構造
PHP【 配列 】配列にデータを追加
PHP【 配列 】配列からデータを削除
PHP【 配列 】count で要素数を取得
PHP【 配列 】配列のソート
PHP【 連想配列 】キーでデータを特定
PHP【 多次元配列 】配列の中に配列
PHP【 配列 】配列内のデータ検索
PHP【 配列 】要素を比較
PHP【 配列 】配列の結合
PHP【 配列 】in_array で値の存在チェック
PHP【 配列 】array_map で一括処理
PHP【 配列 】キーを取得
PHP【 配列 】array_filter でフィルター
 
尚、本サイトでは XAMPP( ザンプ )という開発環境を使用しています。
XAMPP のインストール方法や起動方法については以下の記事をご参照下さい。
PHP【 開発環境 】XAMPP インストール
PHP【 開発環境 】XAMPP の使い方

最終更新日:2019年3月29日

目次

1.array_column 関数
2.array_column のサンプル
3.戻り値のキーを指定
 

1.array_column 関数

 
array_column 関数は、多次元配列等で同一のキーに対する各値を取得する関数です。

実行すると、指定した同一キーの値を抽出した配列が返ります。

array_column 関数は 次のように記述して使用します。

array_column ( $array , キー [, 戻り値のキー ] ) ;

第 1 引数には、対象となる配列を指定します。

第 2 引数には、共通のキーを指定します。

第 3 引数には、戻り値となる配列のキーを指定することができます。

▲目次へ戻る

 

2.array_column のサンプル

 
array_column 関数を使用して 多次元配列内の同一キーの値を取得します。

下記のようなソースファイルを作成して ブラウザからアクセスすると、次のような表示になります。
( ソースファイルの作成方法についてはソースファイルを作成を、サーバの起動方法等についてはサーバを起動を、それぞれご参照下さい。)

<pre>
<?php

  $ary = array(
    array("name"=>"aoi", "age"=>"13", "height"=>168),
    array("name"=>"saito", "age"=>"15", "height"=>155),
    array("name"=>"fukawa", "age"=>"14", "height"=>161),
    array("name"=>"mukai", "age"=>"14", "height"=>158),
    array("name"=>"kai", "age"=>"15", "height"=>160),
    array("name"=>"goto", "age"=>"13", "height"=>153),
    array("name"=>"igawa", "age"=>"13", "height"=>163),
    array("name"=>"nakai", "age"=>"14", "height"=>170),
    array("name"=>"watabe", "age"=>"15", "height"=>157)
  );

  print_r(array_column($ary, "height"));

?>
</pre>

二次元配列 $ary には、「 name 」,「 age 」,「 height 」という共通のキーがあります。
上のサンプルでは その中の「 height 」を指定しているので、同一キー「 height 」に紐付く値が抽出され、新たなインデックス番号が割り当てられています。

print_r 関数や <pre> ~ </pre> についてはprint_r で出力をご参照下さい。

▲目次へ戻る

 

3.戻り値のキーを指定

 
array_column 関数の第 3 引数に配列のキーを指定すると、同一キーの値を取得後 第 3 引数で指定したキーの値が新しいキーとなる配列が返ります。

下記のようなソースファイルを作成して ブラウザからアクセスすると、次のような表示になります。
( ソースファイルの作成方法についてはソースファイルを作成を、サーバの起動方法等についてはサーバを起動を、それぞれご参照下さい。)

<pre>
<?php

  $ary = array(
    array("name"=>"aoi", "age"=>"13", "height"=>168),
    array("name"=>"saito", "age"=>"15", "height"=>155),
    array("name"=>"fukawa", "age"=>"14", "height"=>161),
    array("name"=>"mukai", "age"=>"14", "height"=>158),
    array("name"=>"kai", "age"=>"15", "height"=>160),
    array("name"=>"goto", "age"=>"13", "height"=>153),
    array("name"=>"igawa", "age"=>"13", "height"=>163),
    array("name"=>"nakai", "age"=>"14", "height"=>170),
    array("name"=>"watabe", "age"=>"15", "height"=>157)
  );

  print_r(array_column($ary, "height", "name"));

?>
</pre>

第 2 引数に「 height 」、第 3 引数に「 name 」を指定しているので、「 name 」に紐付く値をキーとして「 height 」に紐付く値を抽出した配列が返ります。

print_r 関数や <pre> ~ </pre> についてはprint_r で出力をご参照下さい。

▲目次へ戻る

SHARE

ITコラムのおすすめ記事

最新記事

無料相談する

INTERNOUS,inc. All rights reserved.