我有两个数组:
$sizes
和$percentages
$sizes
看起来像这样:
"sizes":{"0":{"size_id":5,"it":"50","us":"32"},"1":{"size_id":4,"it":"48","us":"30"}},
$percentages
像这样:
"percentages":[{"5":"70"},{"4":"30"}]
我想根据百分比 = 的值插入 $sizes 数组中的百分比中的数据$key以 $sizes 中的"size_id"结尾,并以以下内容结尾:
"sizes_with_percentage":{"0":{"size_id":5,"percentage":70,it":"50","us":"32"},"1":{"size_id":4,"percentage":30"it":"48","us":"30"}},
我尝试了一些嵌套循环,但没有找到正确的方法,array_push_assoc返回"调用未定义的bla bla错误"。
假设您首先使用json_decode
在此处创建真实数组:
$sizes = json_decode('{"0":{"size_id":5,"it":"50","us":"32"},"1":{"size_id":4,"it":"48","us":"30"}}', true);
$percentages = json_decode('[{"5":"70"},{"4":"30"}]', true);
您可以非常简单地构建$final
数组。
首先循环遍历大小,将它们添加到$final
,使用 size_id
作为数组键。这将使以下步骤变得更加容易。
foreach($sizes AS $size) {
$final[$size['size_id']] = $size;
}
现在遍历百分比,并使用键找到正确的$final
条目,并添加百分比元素。
foreach($percentages AS $percentage) {
$final[key($percentage)]['percentage'] = current($percentage);
}
大功告成!如果您不希望$final
数组仍然按size_id
键进行,则可以将其删除:
$final = array_values($final);
当然,如果您希望输出为 json:
$finalJson = json_encode($final);
工作示例:https://3v4l.org/LR8Tv