【发布时间】:2015-01-04 12:38:35
【问题描述】:
我有一个包含多个对象的 JSON 数组,这是一个示例:
$people = [{"name":"John", "color":"green"},
{"name":"Mary", "color":"green"},
{"name":"Bob", "color":"red"}]
我使用json_decode($people, true) 将它们转换为数组...
现在假设我想合并具有相同color 的那些。我必须做array_merge_recursive($people[0], $people[1]),因为他们都有green 作为color。请注意,我必须指定要递归合并的那些。
$people 解码为数组格式后如何循环并自动递归合并具有相同键值的那些?
类似这样的:
foreach($people as $person) {
// If a person has same color of previous
// person then merge them recursively.
}
这样我就可以在循环后得到这个:
[{"name":"John, Mary", "color":"green, green"},
{"name":"Bob", "color":"red"}]
【问题讨论】:
-
使用以颜色为键的关联数组。
标签: php arrays json object merge