我有一个多维数组,想要按特定列中的值对它们进行分组。我想根据`level`进行分组,但我事实上不知道`level`的值。因此,我不能使用`for`循环并说`while $i < 7`,因为我不知道`7`是`level`键的最大值,而且即使我知道也不确定这种方法是否可行。
[
['cust' => 'XT8900', 'type' => 'standard', 'level' => 1],
['cust' => 'XT8944', 'type' => 'standard', 'level' => 1],
['cust' => 'XT8922', 'type' => 'premier', 'level' => 3],
['cust' => 'XT8816', 'type' => 'permier', 'level' => 3],
['cust' => 'XT7434', 'type' => 'standard', 'level' => 7],
]
期望的结果:
Array (
[1] => Array (
[0] => Array (
[cust] => XT8900
[type] => standard
)
[1] => Array (
[cust] => XT8944
[type] => standard
)
)
[3] => Array (
[2] => Array (
[cust] => XT8922
[type] => premier
)
[3] => Array (
[cust] => XT8816
[type] => permier
)
)
[7] => Array (
[4] => Array (
[cust] => XT7434
[type] => standard
)
)
)
$entry
设为引用的好处。 - mickmackusaforeach
在某些情况下会复制它正在迭代的数组。明确使用引用意味着您可以确保它不会复制可能是巨大输入数组的内容。我不知道这种微观优化在2023年是否相关,当我最初撰写这个答案时,世界还很年轻 :) - Mike