PHP根据一个字段的值将数组分成几组

标签 php arrays sorting grouping

我有一个数组,其中包含按字母顺序排列的名称和其他详细信息的数组。每个数组都包含与名称关联的第一个字母。

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/

相关文章:

python - 使用sorted(dict.values(), ...)后打印字典

r - 对数据框的行进行排序

php - 如何在每个脚本的基础上设置 POST 大小限制?

java - 当在 ArrayList 中找到字符串时 ArrayList.contains() 等于 false

javascript - React JS - Firebase使用map方法在组件中显示数据

javascript - 如何在 javascript 数组元素中显示正确的值?

php - 哪一个使用 : Expire Header, Last Modified Header 或 ETags

php - 多个复选框搜索查询在php中从数据库中获取数据

javascript - 删除按钮上的弹出模式不适用于 JavaScript

sorting - 从 n 个排序子列表创建排序列表(高效)