我有一个对象数组如下
[{"ChannelName":"39-40","Text":"haha"}, {"ChannelName":"39-40","Text":"lala"} {"ChannelName":"40-41","Text":"bla bla"}, {"ChannelName":"40-41","Text":"kha kha"}]
如何检查ChannelName中的重复值。我需要做的是当ChannelName存在于数组对象中时,我想用新Text替换ChannelName。如果ChannelName重复,php检查如何复制ChannelName以及如何用新的Text属性替换旧的Text属性?
答案 0 :(得分:1)
尝试此解决方案。
$json = <<<JSON
[{"ChannelName":"39-40","Text":"haha"},
{"ChannelName":"39-40","Text":"lala"},
{"ChannelName":"40-41","Text":"bla bla"},
{"ChannelName":"40-41","Text":"kha kha"}]
JSON;
$json_array = json_decode( $json, TRUE );
$new_array = array();
$exists_array = array();
foreach( $json_array as $element ) {
if( !in_array( $element['ChannelName'], $exists_array )) {
$exists_array[] = $element['ChannelName'];
}
else{
$element['ChannelName'] = 'New Value';
}
$new_array[] = $element;
}
print json_encode( $new_array );
在新价值部分,您可以根据自己的要求更改价值。