我遇到了一个问题: 我得到了一个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
)
)
我在这里有点失落,一些帮助会很好。
谢谢
答案 0 :(得分:1)
因此,为了向$key=>$value
对象添加新的$result
,以下规则适用:
$result[$key]
尚不存在,请创建它并将其设置为$value
。$result[$key]
存在并且是一个数组,请检查其中是否有$value
。如果没有,请添加它($result[$key][] = $value
)。$result[$key]
存在但不是数组,请检查它是否等于$value
。如果没有,请使用原始$result[$key]
和新值$value
创建一个新数组,然后进行分配。我得到了这个吗?因为上面的内容非常直接地转换为PHP。我可以为你写出来,但我会把实际的工作留给你:)
答案 1 :(得分:0)
从我收集的内容来看,以下循环就是你想要做的。
它将创建一个以“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数组。