Php 使用多维数组中的值重新索引数组
我有一个从db laravel select返回的数组结构,如下所示:Php 使用多维数组中的值重新索引数组,php,arrays,laravel,Php,Arrays,Laravel,我有一个从db laravel select返回的数组结构,如下所示: array:219 [▼ 0 => {#236 ▼ +"mID": "101" +"qAVG": "6.44444" } 1 => {#235 ▼ +"mID": "102" +"qAVG": "4.15068" } Array = array( 101 => array( 'qAVG' => 6.44444
array:219 [▼
0 => {#236 ▼
+"mID": "101"
+"qAVG": "6.44444"
}
1 => {#235 ▼
+"mID": "102"
+"qAVG": "4.15068"
}
Array = array(
101 => array(
'qAVG' => 6.44444
),
101 => array(
'qAVG' => 4.15068
)
)
除了在整个数组中循环并创建一个新变量外,PHP中是否有一个函数可以生成如下内容:
array:219 [▼
0 => {#236 ▼
+"mID": "101"
+"qAVG": "6.44444"
}
1 => {#235 ▼
+"mID": "102"
+"qAVG": "4.15068"
}
Array = array(
101 => array(
'qAVG' => 6.44444
),
101 => array(
'qAVG' => 4.15068
)
)
是的,有一个函数用于此,它允许您从多维数组中提取特定元素和/或通过特定元素对结果进行索引。这两方面也是如此:
$result = array_column($array, 'qAVG', 'mID');
如果子数组包含更多元素,并且您也需要它们,则只需重新编制索引:
$result = array_column($array, null, 'mID');
是的,有一个函数用于此,它允许您从多维数组中提取特定元素和/或通过特定元素对结果进行索引。这两方面也是如此:
$result = array_column($array, 'qAVG', 'mID');
如果子数组包含更多元素,并且您也需要它们,则只需重新编制索引:
$result = array_column($array, null, 'mID');
如果没有在Laravel中转换为数组,则可以使用收集函数
pull()
:
第一个论点是拔出什么,第二个论点是用什么作为钥匙。它非常适合用选项填充选择下拉列表
与上述注释类似,如果您需要其他列:
DB::table('foo')->get()->keyBy('mID');
如果没有在Laravel中转换为数组,则可以使用收集函数
pull()
:
第一个论点是拔出什么,第二个论点是用什么作为钥匙。它非常适合用选项填充选择下拉列表
与上述注释类似,如果您需要其他列:
DB::table('foo')->get()->keyBy('mID');
不,不可能在数组的同一级别上有重复的键。(
101
)不,在数组的同一级别上不可能有重复的键。(101
)