gpt4 book ai didi

php - 重建一个json数据删除一个子节点中的重复值

转载 作者:行者123 更新时间:2023-12-04 04:47:00 25 4
gpt4 key购买 nike

这是一些json数据:

[
{"a":"abc","b:":"10"},//"a":"abc"
{"a":"abd","b:":"12"},
{"a":"abc","b:":"14"},//"a":"abc"
{"a":"abe","b:":"15"},
{"a":"abf","b:":"16"},
{"a":"abg","b:":"17"},//"a":"abg"
{"a":"abg","b:":"19"}//"a":"abg"
]

我想删除子节点“a”中的所有重复值(保留第一个出现的值)。

输出 =>
[
{"a":"abc","b:":"10"},//first appear "a":"abc"
{"a":"abd","b:":"12"},
{"a":"abe","b:":"15"},
{"a":"abf","b:":"16"},
{"a":"abg","b:":"17"}//first appear "a":"abg"
]

最佳答案

这是经过测试的,似乎可以按照您的描述工作:

$json = <<<JSON
[
{"a":"abc","b:":"10"},
{"a":"abd","b:":"12"},
{"a":"abc","b:":"14"},
{"a":"abe","b:":"15"},
{"a":"abf","b:":"16"},
{"a":"abg","b:":"17"},
{"a":"abg","b:":"19"}
]
JSON;

$json_array = json_decode( $json, TRUE );

$new_array = array();
$exists = array();
foreach( $json_array as $element ) {
if( !in_array( $element['a'], $exists )) {
$new_array[] = $element;
$exists[] = $element['a'];
}
}

print json_encode( $new_array );

它输出 [{"a":"abc","b:":"10"},{"a":"abd","b:":"12"},{"a":"abe","b:":"15"},{"a":"abf","b:":"16"},{"a":"abg","b:":"17"}] ,我相信这与您想要的输出相匹配。

关于php - 重建一个json数据删除一个子节点中的重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18034696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com