【发布时间】:2018-06-01 16:53:05
【问题描述】:
我正在尝试合并两个 JSON ,但不是在找到值时覆盖该值,而是在找到时添加该值例如,假设我有 tje 以下三个值。
$a = "[{"base":"10","touch":true,"flatfooted":true}]"
$b = "[{"natural armor":"2","touch":false,"flatfooted":true}]"
$c = "[{"natural armor":"3","touch":false,"flatfooted":true}]"
我想得到以下结果:
"[{"base":"10","touch":true,"flatfooted":true},{"natural armor":"5","touch":false,"flatfooted":true}]"
但我迷路了。
感谢您的帮助。
另外,提前问一下,避免在另一个问题中问:如何将每个 JSON 对象转换为不同的数组?
假设结果为 JSON,类似于
$final[0]['base'] = 10,
$final[0]['touch'] = true,
$final[0]['flatfooted'] = true,
$final[1]['natural armor'] = 5,
$final[1]['touch'] = false,
$final[1]['flatfooted'] = true
【问题讨论】:
-
您是否有想要求和的特定键(如
natural_armor)或每个数字字段? -
这可能是一个非常复杂的程序,因为 json 数组的数量是可变的。我们需要比较 json 的所有键并确保它们具有相同的名称。我们还需要知道所有键的布尔值是否相同(真值或假值),最后将数值相加。我给了你一个开始(检查我的答案)无法完成它,因为我必须离开。