PHPの array_columnをきちんと学ぶ!サンプルコードで簡単理解

PHPの配列はとても便利です。

様々なデータを一括で持つことができます。

データベースから取得してきたデータも配列で返す事がほとんどです。

でも、一括でデータを持つことが出来るからこそデータの扱いや取り出しに悩む事があります。

PHPには様々な関数があり、配列のデータに関する関数もあります。

今回はそんな配列の関数の一つ、array_columnを以下の内容で紹介します。

【基礎】array_columnとは
【基礎】array_columnで好きな項目を取り出す
【応用】array_columnで取り出した項目を並び替え

array_columnついてわかりやすく解説していますので、ぜひ参考にしてください。。

array_columnとは

array_columnは、配列から好きなデータを取り出す事が出来る関数です。

array_columnは以下のように記述します。

 array_column(配列, 項目);

配列・・・対象の配列を指定
項目・・・取り出したい項目を指定

例えば、以下の様な配列があるとします。

$book_data = array(
    array(
        'book_id' => 5,
        'book_name' => '本1'
    ),
    array(
        'book_id' => 10,
        'book_name' => '本2',
    ),
    array(
        'book_id' => 3,
        'book_name' => '本3',
    )
);

この配列のbook_nameというデータを取り出して配列化したい場合、以下のように取り出す事は出来ます。

<?php
$book_data = array(
    array(
        'book_id' => 5,
        'book_name' => '本1'
    ),
    array(
        'book_id' => 10,
        'book_name' => '本2',
    ),
    array(
        'book_id' => 3,
        'book_name' => '本3',
    )
);

foreach($book_data as $val){
    $book_data_disp[] = $val['book_name'];
}

print_r($book_data_disp);

?>
結果
Array
(
    [0] => 本1
    [1] => 本2
    [2] => 本3
)

「book_name」の項目を配列化できました。

ただ、foreachで一つずつ取り出して配列に入れる作業が必要です。

もっと簡単に取り出したい。

そこで、array_columnの出番です。

【基本】array_columnで好きな項目を取り出す

では、実際にarray_columnを使用してデータを取り出してみましょう。

以下サンプルコードです。

<?php
// 配列にデータを入れる
$book_data = array(
    array(
        'book_id' => 5,
        'book_name' => '本1'
    ),
    array(
        'book_id' => 10,
        'book_name' => '本2',
    ),
    array(
        'book_id' => 3,
        'book_name' => '本3',
    )
);

// 第一引数にデータを入れた配列を指定
// 第二引数に取り出したい項目名を指定
$array_column_data = array_column($book_data, 'book_name');

print_r($array_column_data);

?>
結果
Array
(
    [0] => 本1
    [1] => 本2
    [2] => 本3
)

foreachを使わなくても、目的の項目を配列化する事ができました。

【応用】array_columnで取り出した項目をキーに指定

最後に、目的の項目を取り出して別の項目をキーに指定するサンプルコードです。

<?php
$book_data = array(
    array(
        'book_id' => 5,
        'book_name' => '本1'
    ),
    array(
        'book_id' => 10,
        'book_name' => '本2',
    ),
    array(
        'book_id' => 3,
        'book_name' => '本3',
    )
);
// 第三引数にキーにする項目を指定する
$array_column_data = array_column($book_data, 'book_name', 'book_id');

print_r($array_column_data);

?>
結果
Array
(
    [5] => 本1
    [10] => 本2
    [3] => 本3
)

配列のキーが指定した項目の値になりました。

まとめ

本日は、PHPの配列データを取り出せるarray_columnについて説明しました。

色々な関数を知っているとコードをシンプルに書けますね。

それでは、また。

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

つぶらや

つぶらや

独学PG&SE、東京在住30代女性。
誰でもプログラマーになれるがモットーで、わかりやすい記事を目指しています。

おすすめコンテンツ

いまならレッスン期間が2週間延長!この秋、プログラミングを学ぼう

転職成功で受講料0円!あなたもプログラミングを学んでエンジニアデビュー