我面临一个问题:我得到了一个json条目,其组织方式如下:
Array
(
[0] => stdClass Object
(
[libelle] => Emploi
[sousLibelle] => Réhabilitation professionnelle
)
[1] => stdClass Object
(
[libelle] => Emploi
[sousLibelle] => Formations et aides à l'emploi
)
[2] => stdClass Object
(
[libelle] => Emploi
[sousLibelle] => Emploi
)
}
我需要做的是:
Array
(
[0] => stdClass Object
(
[libelle] => Emploi
[sousLibelle][0] => Réhabilitation professionnelle
[sousLibelle][1] => Formations et aides à l'emploi
[sousLibelle][2] => Emploi
)
)
我在这里有点迷路了,如果能帮忙就好了。
感谢
因此,要将新的$key=>$value
添加到$result
对象,请应用以下规则:
- 如果
$result[$key]
还不存在,请创建它并将其设置为$value
- 如果
$result[$key]
存在并且是一个数组,则检查$value
是否在其中。如果不在,则添加它($result[$key][] = $value
) - 如果
$result[$key]
存在但不是数组,请检查它是否等于$value
。如果没有,请使用原始$result[$key]
和新值$value
创建一个新数组,并将其赋值
我说得对吗?因为上面的内容可以直接翻译成PHP。我可以帮你写出来,但我会把实际工作留给你:)
根据我的收集,下面的循环是您想要做的。
它将创建一个以"libelle"值为键的新数组,然后删除重复的数组。
$new_arr = array();
foreach($array as $val) {
$new_arr[$val['libelle']][] = $val['sousLibelle'];
}
$new_arr = array_unique($new_arr);
编辑:只是附带说明,json_decode
用于将数组从JSON数组转换为PHP数组,json_encode
用于在JSON数组中生成结果。