$arr1适用于所有值。这里是checked=false
.
$arr1 = [{"event_id":"2","name":"I have a new message","checked":"false"},{"event_id":"3","name":"A meeting awaits
me","checked":"false"},{"event_id":"4","name":"Someone visited my profil","checked":"false"},{"event_id"
:"5","name":"Someone like my profile","checked":"false"},{"event_id":"6","name":"My picture was approved"
,"checked":"false"},{"event_id":"7","name":"My picture was rejected","checked":"false"},{"event_id":"8"
,"name":"VIP purchase confirmation","checked":"false"}];
$arr2仅用于选中的值。这里是checked=true
$arr2 = [{"event_id":"2","name":"I have a new message","checked":"true"},{"event_id":"3","name":"A meeting awaits
me","checked":"true"},{"event_id":"4","name":"Someone visited my profil","checked":"true"},{"event_id"
:"5","name":"Someone like my profile","checked":"true"},{"event_id":"7","name":"My picture was rejected"
,"checked":"true"},{"event_id":"8","name":"VIP purchase confirmation","checked":"true"}]
现在我想要一个像下面这样的数组,其中"checked":"false"answers"checked":"true"都将在那里。这怎么可能呢?
$arr3 = [{"event_id":"2","name":"I have a new message","checked":"true"},{"event_id":"3","name":"A meeting awaits
me","checked":"true"},{"event_id":"4","name":"Someone visited my profil","checked":"true"},{"event_id"
:"5","name":"Someone like my profile","checked":"true"},{"event_id":"6","name":"My picture was approved"
,"checked":"false"},{"event_id":"7","name":"My picture was rejected","checked":"true"},{"event_id":"8"
,"name":"VIP purchase confirmation","checked":"true"}];
你的问题需要像这样:合并JSON对象
按照以下步骤将json_objects
加入到single array
中要容易得多。
- 需要对
$arr1
和$arr2
执行json_decode()
- 然后执行
json_decode()
后,您需要使用array_merge()
,因为在json_decode()
之后,您的数据将作为array()
,因此您可以轻松合并两个数组。 - 最后一步,如果你需要输出作为
json_object()
,你需要执行json_encode()
的结果数组之后,你得到的array_merge()
场景示例
<?php
$json_first = '{
"id": "#001",
"username": "Name One",
"type": "ADMIN",
"status": "ACTIVE"
}';
$json_second = '{
"id": "#002",
"username": "Name Two",
"type": "USER",
"status": "INACTIVE"
}';
$user_info[] = json_decode($json_first,TRUE);
$user_info[] = json_decode($json_second,TRUE);
$json_merge = json_encode($user_info);
?>
<h4>Given JSON String:</h4>
<p>
<div>$json1 = <?php echo $json1; ?></div>
<div>$json2 = <?php echo $json2; ?></div>
</p>
<h4>Output:</h4>
<div><?php echo $json_merge; ?></div>
输出:给定JSON字符串
{"id": "#001", "username": "Name One", "type": "ADMIN", "status": "ACTIVE" }
{"id": "#002", "username": "Name Two", "type": "USER","status": "INACTIVE" }
JSON合并后:
[{"id": "#001", "username": "Name One", "type": "ADMIN", "status": "ACTIVE" },{"id": "#002", "username": "Name Two", "type": "USER","status": "INACTIVE" }]
获取ARRAY MERGE通过移除重复项。
如果您需要合并数组并删除重复的值,您可以选择array_unique()
函数。
这将删除所有重复的,然后你可以执行你需要的操作。
<?php
$array_unique_result = array_unique($array_merge_result,SORT_REGULAR); // This will provide the unique values alone after the array is merged.
$json = json_encode($array_unique_result);
?>
参考:http://php.net/manual/en/function.array-unique.php