php 二次元配列から特定のキーを指定して配列を作成する
phpで、array_columnを使用して、二次元配列から特定のキーを指定して配列を作成するサンプルコードを記述してます。phpのバージョンは8.0です。
環境
- OS CentOS Linux release 8.0.1905 (Core)
- php 8.0.0
- nginx 1.14.1
array_column使い方
array_columnを使用すれば、二次元配列から特定のキーを指定して配列を作成することが可能です。
array_column(配列, キー名);
以下は、二次元配列から特定のキーを指定して配列を作成するサンプルコードとなります。
<?php
$arr = [
[
"date" => "2021/01/01",
"num" => 10,
"dayofweek" => "fri",
],
[
"date" => "2021/01/02",
"num" => 15,
"dayofweek" => "sat",
],
[
"date" => "2021/01/03",
"num" => 20,
"dayofweek" => "sun",
],
];
$result = array_column($arr, "dayofweek");
print_r($result);
実行結果
Array
(
[0] => fri
[1] => sat
[2] => sun
)
キー名を二次元配列から指定することも可能です。
<?php
$arr = [
[
"date" => "2021/01/01",
"num" => 10,
"dayofweek" => "fri",
],
[
"date" => "2021/01/02",
"num" => 15,
"dayofweek" => "sat",
],
[
"date" => "2021/01/03",
"num" => 20,
"dayofweek" => "sun",
],
];
$result = array_column($arr, "dayofweek", "date");
print_r($result);
実行結果
Array
(
[2021/01/01] => fri
[2021/01/02] => sat
[2021/01/03] => sun
)
第二引数をnullにすることで、値をキーにした連想配列にすることも可能です。
<?php
$arr = [
[
"date" => "2021/01/01",
"num" => 10,
"dayofweek" => "fri",
],
[
"date" => "2021/01/02",
"num" => 15,
"dayofweek" => "sat",
],
[
"date" => "2021/01/03",
"num" => 20,
"dayofweek" => "sun",
],
];
$result = array_column($arr, NULL, "date");
print_r($result);
実行結果
Array
(
[2021/01/01] => Array
(
[date] => 2021/01/01
[num] => 10
[dayofweek] => fri
)
[2021/01/02] => Array
(
[date] => 2021/01/02
[num] => 15
[dayofweek] => sat
)
[2021/01/03] => Array
(
[date] => 2021/01/03
[num] => 20
[dayofweek] => sun
)
)
-
前の記事
Vue3 ライブラリ「smart-tagz」を使用してタグ入力を実装する 2021.01.05
-
次の記事
cssのみで画像をハーフトーン加工 2021.01.05
コメントを書く