まつぴんノーコードブログ

ノーコード開発、これいかに

PHPのarray_column関数は配列の形を柔軟に変更できるよ

たとえばこんな形の配列があったとして、

$rows = [
    ['id' => 1, 'name' => 'taro'],
    ['id' => 2, 'name' => 'jiro'],
    ['id' => 3, 'name' => 'saburo'],
];

次のようなnameの値をキーとした配列を作りたいなら、

$result = [
    'taro',
    'jiro',
    'saburo',
];

foreach でループして作成するのが素朴な方法ですが、

$result = [];
foreach ($rows as $row) {
    $result[] = $row['name'];
}

array_column関数を使えば1行で作成できます!

$result = array_column($rows, 'name');

他にも配列の要素と任意の値をキーとした配列も1行で作成できます、

$result ($rows, null, 'name');
array(3) {
  ["taro"]=>
  array(2) {
    ["id"]=>
    int(1)
    ["name"]=>
    string(4) "taro"
  }
  ["jiro"]=>
  array(2) {
    ["id"]=>
    int(2)
    ["name"]=>
    string(4) "jiro"
  }
  ["saburo"]=>
  array(2) {
    ["id"]=>
    int(3)
    ["name"]=>
    string(6) "saburo"
  }
}

詳しくはPHPのマニュアルを読みましょう!

PHP: array_column - Manual