PHP:检查对象数组中的重复数组键。

时间:2017-05-19 09:32:16

标签: php arrays

我有一个对象数组如下

 [{"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属性?

1 个答案:

答案 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 );

在新价值部分,您可以根据自己的要求更改价值。

相关问题