找到Equal Array php

时间:2014-06-27 13:41:25

标签: php arrays

我有这样的关联数组:

$json_data = array();
$jason_data[]= array ('id'=>'1','brand'=>'chanel','name'=>'red');
$jason_data[]= array ('id'=>'3','brand'=>'lacoste','name'=>'green');
$jason_data[]= array ('id'=>'1','brand'=>'chanel','name'=>'red');

$jason_data[0]$jason_data[2]等于

我希望在$jason_data中找到相同数组并回显它们

1 个答案:

答案 0 :(得分:0)

我不知道这个的背景和你的问题是模糊的,但无论如何,我希望这是你想要实现的目标。 (并且您的变量命名是奇数)。在您的示例中,索引0和2是相同的,并且由于它们是多维的,因此您可以使用serialize以某种方式展平它们。试试这个:

$json_data = array();
$json_data[]= array ('id'=>'1','brand'=>'chanel','name'=>'red');
$json_data[]= array ('id'=>'3','brand'=>'lacoste','name'=>'green');
$json_data[]= array ('id'=>'1','brand'=>'chanel','name'=>'red');

$json_data = array_map('serialize', $json_data);
$values = array_count_values($json_data);

echo '<pre>';
foreach($values as $array => $count) {
    if($count > 1) {
        $array = unserialize($array);
        print_r($array);
    }
}

应输出/打印具有重复项的内容:

Array
(
    [id] => 1
    [brand] => chanel
    [name] => red
)