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

50種類以上のIT教材を無料で使える!
0円から学習できるオンラインITスクール「侍テラコヤ」
→さっそく登録する

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の出番です。


【なかなかエラーが解決できない…そんな悩みを解決します!】

登録無料で始められるプログラミングスクール「侍テラコヤ」

・回答率100%のQ&A掲示板でエラーを解決!
現役エンジニアとのオンライン相談で悩みを解決!
・50種類以上の教材で複数言語を習得!

侍テラコヤについて詳しく見る

【基本】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について説明しました。

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

それでは、また。

プログラミング学習中、
誰かへ相談したいことはありませんか?

SAMURAI TERAKOYA

プログラミングはエラーの連続。作業を進めるなかで誰かに教えてほしい場面は多いですよね。

そんな悩みを解決できるのが、侍テラコヤです。登録無料で始められて、現役エンジニアとオンラインで相談できるほか、回答率100%のQA掲示版でプログラミングに関する悩みを解決します!

気になる方はぜひ詳細をご覧ください。

→侍テラコヤの詳細をみる

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

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI TERAKOYA

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close