我有一个子数组的数组,格式如下:
[
'a' => ['id' => 20, 'name' => 'chimpanzee'],
'b' => ['id' => 40, 'name' => 'meeting'],
'c' => ['id' => 20, 'name' => 'dynasty'],
'd' => ['id' => 50, 'name' => 'chocolate'],
'e' => ['id' => 10, 'name' => 'bananas'],
'f' => ['id' => 50, 'name' => 'fantasy'],
'g' => ['id' => 50, 'name' => 'football']
]
我想根据每个子数组中的id字段将其分组为一个新数组。
array
(
10 => array
(
e => array ( id = 10, name = bananas )
)
20 => array
(
a => array ( id = 20, name = chimpanzee )
c => array ( id = 20, name = dynasty )
)
40 => array
(
b => array ( id = 40, name = meeting )
)
50 => array
(
d => array ( id = 50, name = chocolate )
f => array ( id = 50, name = fantasy )
g => array ( id = 50, name = football )
)
)
$old_arr
中是否存在一个 id。现在仔细检查后,使用array_key_exists
对这段代码没有任何增益。结果与不使用它完全相同。就性能而言:它在循环内调用数组上的函数,这必须比写入不存在的键所造成的任何性能损失更加重要,因此建议放弃整个if()
块。 - Herbert