PHPのarray_column
関数は、多次元配列から指定されたキーの値だけを抽出し、新しい配列を作成します。
この関数を使うと、多次元配列から特定の列の値だけを簡単に取得できます。
データベースの検索結果やCSVデータを処理する場合など、多次元配列から特定の列の値だけを取得したい場合に便利です。
array_column関数の基本的な使い方
array_column
関数は、多次元配列から指定されたキーの値だけを抽出し、新しい配列を返します。
基本的な構文は以下のとおりです。
array_column(array $array, mixed $column_key, mixed $index_key = null): array
$array
: 多次元配列。- 値を取得する多次元配列を指定します。
$column_key
: 値を取得するキー。- 取得する値のキーを指定します。
- 数値添字配列の場合、数値インデックスを指定します。
$index_key
: 返り値の配列のキーとして使用するキー(省略可能)。- 返り値の配列のキーとして使用するキーを指定します。
- 省略した場合、自動的に0から始まる数値がキーとして割り当てられます。
array_column関数の戻り値
array_column
関数の戻り値は、指定されたキーの値だけを抽出した新しい配列です。
多次元配列から特定の列の値を取得する
多次元の連想配列から、array_column
関数を使って、特定の列を指定して取得します。
<?php
$array = [
['id' => 1, 'name' => 'apple', 'color' => 'red'],
['id' => 2, 'name' => 'banana', 'color' => 'yellow'],
['id' => 3, 'name' => 'orange', 'color' => 'orange'],
];
$names = array_column($array, 'name');
print_r($names);
// 結果:Array ( [0] => apple [1] => banana [2] => orange )
?>
最初に$array
変数に多次元配列を作成しました。
そのあとにarray_column
関数を使っています。
第1引数に対象の配列、第2引数に取り出したい列のキーを指定しています。
こうすることで、多次元配列$array
からname
キーの値だけを抽出し、新しい配列$names
を作成しています。
返り値の配列のキーを指定する
取り出した列の値に対して、指定した列の値をキーにして、新しい配列を作ってみます。
<?php
$array = [
['id' => 1, 'name' => 'apple', 'color' => 'red'],
['id' => 2, 'name' => 'banana', 'color' => 'yellow'],
['id' => 3, 'name' => 'orange', 'color' => 'orange'],
];
$colors = array_column($array, 'color', 'name');
print_r($colors);
// 結果:Array ( [apple] => red [banana] => yellow [orange] => orange )
?>
array_column
関数を使うときに、第3引数name
キーを指定しています。
こうすることで、第2引数の取り出した値の配列のキーをname
キーの値に設定しています。
出力すると、配列のキーがname
列の値、配列の値がcolor
列の値になっていることが確認できます。
存在しないキーを指定
存在しないキーを指定を指定した場合は、空配列が返ってきます。
$array = [
['id' => 1, 'name' => 'apple', 'color' => 'red'],
['id' => 2, 'name' => 'banana', 'color' => 'yellow'],
['id' => 3, 'name' => 'orange', 'color' => 'orange'],
];
$values = array_column($array, 'price');
print_r($values);
// 結果:Array ()
array_column
関数使用時に存在しないprice
列を指定しました。
この場合には、空配列が返ってきます。
array_column関数を使うメリット
array_column
関数を使う主なメリットは以下のとおりです。
- 多次元配列からの特定の列の値の抽出: 多次元配列から特定の列の値だけを簡単に抽出できます。
- コードの簡潔化: ループ処理を記述する必要がなく、コードが簡潔になります。
- 可読性の向上: コードの意図が明確になり、可読性が向上します。
PHPのarray_column関数の使い方まとめ
今回はPHPのarray_column
関数の使い方について確認しました。
この記事の内容をまとめます。
・`$array`は多次元配列。
・`$column_key`は値を取得するキー。
・`$index_key`は返り値の配列のキーとして使用するキー(省略可能)。
・存在しない配列を指定すると、空配列となる。
・多次元配列から特定の列の値だけを取得したい場合に便利。
コメント