我有一个二维数组,其中包含人名和语言标签。目标是按语言标签对所有名称进行分组以下是此类数组的示例:[ ['name' => 'Ann', 'languages' => ['EN', 'FR']], ['name' => 'Bill', 'languages' => ['ES', 'CN']], ['name' => 'Jake', 'languages' => ['ES', 'FR']],]应将其转化为:[ 'EN' => ['Ann'], 'FR' => ['Ann', 'Jake'], 'ES' => ['Bill', 'Jake'], 'CN' => ['Bill']]这是我的按语言分组的代码。第一个问题是它添加了键 id。第二个我不确定php中是否有更好用的数组函数。function groupByLang(array $array) { $result = []; foreach ($array as $person) { foreach ($person['languages'] as $lang) { $result[$lang][] = $person['name']; } } return $result;}这是结果[ 'EN' => [0 => 'Ann'], 'FR' => [0 => 'Ann', 1 => 'Jake'], 'ES' => [0 => 'Bill', 1 => 'Jake'], 'CN' => [0 => 'Bill']]谁能帮我修复我的代码吗?提前致谢。UPD 我想我的代码正在正常工作。然而我对这个索引感到困惑... UPD 2 修复了一个项目拼写错误。
- 1 回答
- 0 关注
- 100 浏览
添加回答
举报
0/150
提交
取消