1. 程式人生 > >php 用array_column代替用foreach來生成關聯陣列

php 用array_column代替用foreach來生成關聯陣列

從資料庫取出的資料是一個二維陣列,假設如下:

$arr = [

    ['id' => 111, 'name' => '張三'],

    ['id' => 222, 'name' => '李四'],

];


有時候我們可能需要以id為鍵值返回該陣列,於是我們一般會這樣寫:

$ret = [];

foreach($arr as $val) {

    $ret[$val['id']] = $val;

}


其實可以用php的內建的函式代替,於是可以一句話:

$ret = array_column($arr, null, 'id');