我有一个从db laravel select返回的数组结构,如下所示:
array:219 [▼
0 => {#236 ▼
+"mID": "101"
+"qAVG": "6.44444"
}
1 => {#235 ▼
+"mID": "102"
+"qAVG": "4.15068"
}
除了循环遍历整个数组并创建新变量之外,PHP中还有一个函数可以生成如下内容:
Array = array(
101 => array(
'qAVG' => 6.44444
),
101 => array(
'qAVG' => 4.15068
)
)
答案 0 :(得分:3)
是的,该array_column有一个函数,可让您从多维数组中提取特定元素和/或通过特定元素对结果进行索引。两者都如此:
$result = array_column($array, 'qAVG', 'mID');
如果子数组具有更多元素,并且您也希望它们,则只需重新索引:
$result = array_column($array, null, 'mID');
答案 1 :(得分:1)
如果您还没有在Laravel中转换为数组,则可以使用集合函数pluck()
:
DB::table('foo')->select(['mID', 'qAVG'])->get()->pluck('qAVG', 'mID');
第一个参数是要使用的参数,第二个参数是要用作键的参数。对于填充带有选项的选择下拉列表非常有用。
与上述注释类似,如果需要其他列:
DB::table('foo')->get()->keyBy('mID');