为了账号安全,请及时绑定邮箱和手机立即绑定

PHP。如何在多维数组中按标签对值进行分组?

PHP。如何在多维数组中按标签对值进行分组?

PHP
aluckdog 2023-07-30 11:16:53
我有一个二维数组,其中包含人名和语言标签。目标是按语言标签对所有名称进行分组以下是此类数组的示例:[ ['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 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

您的代码或结果没有任何问题。PHP 中的数组总是有一个与之关联的键。由于您没有指定键,它将回退到默认索引(0、1、2...)。



查看完整回答
反对 回复 2023-07-30
  • 1 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信