我有一个数组,其中包含按字母顺序排列的名称和其他详细信息的数组。每个数组都包含与名称关联的第一个字母。
Array
(
[0] => Array
(
[0] => a
[1] => Alanis Morissette
)
[1] => Array
(
[0] => a
[1] => Alesha Dixon
)
[2] => Array
(
[0] => a
[1] => Alexandra Burke
)
[3] => Array
(
[0] => b
[1] => Britney Spears
)
[4] => Array
(
[0] => b
[1] => Bryan Adams
)
)
我想按第一个首字母分组显示它们,例如:
A - Alanis Morissette Alesha Dixon Alexandra Burke B - Britney Spears Bryan Adams etc...
这有可能吗?
最佳答案
即使它们没有排序,您也可以轻松地将它们分组:
$groups=array();
foreach ($names as $name) {
$groups[$name[0]][] = $name[1];
}
您甚至不需要存储第一个首字母来对它们进行分组:
$names = array(
'Alanis Morissette',
'Alesha Dixon',
'Alexandra Burke',
'Britney Spears',
'Bryan Adams',
...
);
$groups=array();
foreach ($names as $name) {
$groups[$name[0]][] = $name;
}
关于PHP根据一个字段的值将数组分成几组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2649500/