php多维数组去掉重复值示例分享

代码如下:

<?php
$json='{

"rec_items": [
        {
            "classes": "玄幻",
            "gid": 6326585,
            "author": "我吃西红柿",
            "nid": 10079306,
            "last_sort": 841,
            "last_chapter_name": "第二十五卷 第六章 一扫而空",
            "sub_count": 5364424,
            "novel_name": "莽荒纪",
            "last_update_time": 1393679718826
        },
        {
            "classes": "玄幻",
            "gid": 6109786,
            "author": "唐家三少",
            "nid": 10079046,
            "last_sort": 1153,
            "last_chapter_name": "第三百八十一章 开始行动(中)",
            "sub_count": 3933876,
            "novel_name": "绝世唐门",
            "last_update_time": 1393681654511
        },
        {
            "classes": "玄幻",
            "gid": 10645516,
            "author": "辰东",
            "nid": 12649548,
            "last_sort": 478,
            "last_chapter_name": "第四百三十二章 扛媳妇回村",
            "sub_count": 1422482,
            "novel_name": "完美世界",
            "last_update_time": 1393681655610
        },
        {
            "classes": "玄幻",
            "gid": 4711723,
            "author": "只是小虾米",
            "nid": 12629406,
            "last_sort": 2603,
            "last_chapter_name": "第2588章 苏醒!",
            "sub_count": 2841630,
            "novel_name": "武逆",
            "last_update_time": 1393605899300
        },
        {
            "classes": "玄幻",
            "gid": 3701669,
            "author": "苍笑天",
            "nid": 8583556,
            "last_sort": 3427,
            "last_chapter_name": "第两千两百二十五章 孔雀王!",
            "sub_count": 606473,
            "novel_name": "武破九霄",
            "last_update_time": 1391279170831
        },
        {
            "classes": "玄幻",
            "gid": 8141499,
            "author": "风凌天下",
            "nid": 9212380,
            "last_sort": 2579,
            "last_chapter_name": "第五百二十六章 九劫、天帝之战【七】",
            "sub_count": 3082857,
            "novel_name": "傲世九重天",
            "last_update_time": 1393677692614
        }
    ],
    "cate_book_items": [
        {
            "classes": "玄幻",
            "gid": 4711723,
            "author": "只是小虾米",
            "nid": 12629406,
            "last_sort": 2603,
            "last_chapter_name": "第2588章 苏醒!",
            "sub_count": 2841630,
            "novel_name": "武逆",
            "last_update_time": 1393605899300
        },
        {
            "classes": "玄幻",
            "gid": 3701669,
            "author": "苍笑天",
            "nid": 8583556,
            "last_sort": 3427,
            "last_chapter_name": "第两千两百二十五章 孔雀王!",
            "sub_count": 606473,
            "novel_name": "武破九霄",
            "last_update_time": 1391279170831
        },
        {
            "classes": "玄幻",
            "gid": 10645516,
            "author": "辰东",
            "nid": 12649548,
            "last_sort": 478,
            "last_chapter_name": "第四百三十二章 扛媳妇回村",
            "sub_count": 1422482,
            "novel_name": "完美世界",
            "last_update_time": 1393681655610
        }
    ]
}';

function mult_unique($array)
{
  $return = array();
  foreach($array as $key=>$v)
  {
    if(!in_array($v, $return))
    {
      $return[$key]=$v;
    }
  }
  return $return;
}

$json = get_object_vars(json_decode($json));
$data = $json['rec_items'];
$data = array_merge_recursive($data, $json['cate_book_items']);

echo '<pre>';
print_r($data);
echo '<br>';
print_r(mult_unique($data));
echo '</pre>';
?>

(0)

相关推荐

  • php数组对百万数据进行排除重复数据的实现代码

    假如得到一个uid列表,数量在百万行以上,格式如下: 复制代码 代码如下: 10001000 10001001 10001002 ...... 10001000 ...... 10001111 其实利用php数组的特性,很好进行排重,我们先来看一下php数组的定义:PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种实现),字典,集合,栈,队列以及更多可能性.数组元素

  • php二维数组合并及去重复的方法

    本文实例讲述了php二维数组合并及去重复的方法.分享给大家供大家参考.具体实现方法如下: $arr = array_merge($labels,$label); //合并需要合并的俩个数组 $key = id;//去重条件 $tmp_arr = array();//声明数组 foreach($arr as $k => $v) { if(in_array($v[$key], $tmp_arr)) //搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true { unset($arr

  • PHP去除数组中重复的元素并按键名排序函数

    1.此函数的作用:去除数组中重复的元素并按键名排序 function assoc_unique($arr, $key) { $tmp_arr = array(); foreach($arr as $k => $v) { if(in_array($v[$key], $tmp_arr)) { unset($arr[$k]); } else { $tmp_arr[] = $v[$key]; } } sort($arr); return $arr; } 使用例子: $aa = array( array(

  • php删除数组中重复元素的方法

    几种php删除数组元素方法在很多情况下我们的数组会出现重复情况,那我们删除数组中一些重复的内容怎么办,这些元素必须保持他唯一,所以就想办法来删除它们,下面利用了遍历查询来删除重复数组元素的几种方法. 方法一.完整删除重复数组实例-----删除数组中的一个元素 function array_remove_value(&$arr, $var){ foreach ($arr as $key => $value) { if (is_array($value)) { array_remove_valu

  • php array_flip() 删除数组重复元素

    方法如下: $arr = array(----) ;//假设有一万个元素的数组,里面有重复的元素. $arr = array_flip(array_flip($arr)); //这样便可以删除重复元素. 究竟是怎么回事呢?来看下array_flip()的作用:array_flip()用于将一个数组的每个元素的键和值交换,如: $arr1 = array ("age" => 30, "name" => "快乐园"); $arr2 = a

  • php生成不重复随机数、数组的4种方法分享

    下面写几种生成不重复随机数的方法,直接上代码吧 复制代码 代码如下: <?php define('RANDOM_MAX', 100); define('COUNT', 10); echo 'max random num: '.RANDOM_MAX, ' ;result count:'.COUNT, '<br/>'; invoke_entry('rand1'); invoke_entry('rand2'); invoke_entry('rand3'); invoke_entry('rand

  • 过滤掉PHP数组中的重复值的实现代码

    复制代码 代码如下: <?php $arrF = array(); $arrS = array(); $intTotal = 100; $intRand = 10; for($i=0; $i < $intTotal; $i++) { $arrF[] = rand(1, $intRand); $arrS[] = rand(1, $intRand); } $arrT = array_merge($arrF, $arrS); $arrRF = array(); $intStart = time();

  • PHP两种去掉数组重复值的方法比较

    去除一个数组中的重复值,可以使用foreach方法,也可以使用array_unique方法,下面的代码两种方法都使用了. <?php $arrF = array(); $arrS = array(); $intTotal = 100; $intRand = 10; for($i=0; $i < $intTotal; $i++) { $arrF[] = rand(1, $intRand); $arrS[] = rand(1, $intRand); } $arrT = array_merge($a

  • PHP获取数组中重复最多的元素的实现方法

    本文实例讲述了PHP获取数组中重复最多的元素的实现方法.分享给大家供大家参考.具体方法如下: 复制代码 代码如下: <?php  /**   *    * Created on 2014-4-1   * @param   array $array   * @param   int [optional] $length   * @return  array   */  function mostRepeatedValues($array,$length=0){      if(emptyempty

  • 两种php去除二维数组的重复项方法

    php去掉二维数组的重复值的方法总结,具体代码如下: 方法一: //二维数组去掉重复值 function array_unique_fb($array2D){ foreach ($array2D as $v){ $v=join(',',$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串 $temp[]=$v; } $temp=array_unique($temp); //去掉重复的字符串,也就是重复的一维数组 foreach ($temp as $k => $v){

  • php去除数组中重复数据

    废话不多说,直接上代码 复制代码 代码如下: /**          * 给数组排重          * 与array_unique函数的区别:它要求val是字符串,而这个可以是数组/对象          *          * @param unknown_type $arr 要排重的数组          * @param unknown_type $reserveKey 是否保留原来的Key          * @return unknown          */       

  • php获取数组中重复数据的两种方法

    (1)利用php提供的函数,array_unique和array_diff_assoc来实现 复制代码 代码如下: <?php function FetchRepeatMemberInArray($array) {     // 获取去掉重复数据的数组     $unique_arr = array_unique ( $array );     // 获取重复数据的数组     $repeat_arr = array_diff_assoc ( $array, $unique_arr );    

  • PHP删除二维数组中相同元素及数组重复值的方法示例

    本文实例讲述了PHP删除二维数组中相同元素及数组重复值的方法.分享给大家供大家参考,具体如下: function assoc_title($arr, $key) { $tmp_arr = array(); foreach ($arr as $k => $v) { if (in_array($v[$key], $tmp_arr)) { unset($arr[$k]); } else { $tmp_arr[] = $v[$key]; } } return $arr; }//assoc_title e

随机推荐