博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP多维数组去重
阅读量:4056 次
发布时间:2019-05-25

本文共 1666 字,大约阅读时间需要 5 分钟。

最近用到了一个获取历史会议列表的问题,需要去这个多维数组去重后返回返回给客户端,这里使用了几个php的组装函数,分享下,示例代码如下:

<?php

$str = '{
    "status": 0,
    "result": [
        {
            "hostName": "杨新",
            "pcode2": "41675441",
            "email": "xin.yang@xx.cn",
            "selfName": "邵兵"
        },
        {
            "hostName": "杨新",
            "pcode2": "41675441",
            "email": "xin.yang@xx.cn",
            "selfName": "邵兵"
        },
        {
            "hostName": "中信国安科技控股有限公司",
            "pcode2": "9730284461",
            "email": "liuxiao@gakj.xx.com",
            "selfName": "邵兵"
        },
        {
            "hostName": "中信国安科技控股有限公司",
            "pcode2": "9730284461",
            "email": "liuxiao@gakj.xx.com",
            "selfName": "邵兵"
        },
        {
            "hostName": "刘惠",
            "pcode2": "64068956",
            "email": "huijie.liu@xx.cn",
            "selfName": "邵兵"
        },
        {
            "hostName": "刘惠",
            "pcode2": "64068956",
            "email": "huijie.liu@xx.cn",
            "selfName": "邵兵"
        },
        {
            "hostName": "刘凯南",
            "pcode2": "14818360",
            "email": "kainan.liu_3@xx.cn",
            "selfName": "邵兵"
        },
        {
            "hostName": "刘凯南",
            "pcode2": "14818360",
            "email": "kainan.liu_3@xx.cn",
            "selfName": "邵兵"
        },
        {
            "hostName": "宋纬奇",
            "pcode2": "62947142",
            "email": "weiqi.song@xx.cn",
            "selfName": "邵兵"
        },
        {
            "hostName": "宋纬奇",
            "pcode2": "62947142",
            "email": "weiqi.song@xx.cn",
            "selfName": "邵兵"
        }
    ],
    "content_type": "application/json"
}';
$res = json_decode($str,true);
echo  'num: '.count($res['result']);
print_r($res['result']);
echo "</br></br></br>";
$rrr = $res['result'];
$serializeArrs = array_map('serialize',$rrr);
$uniqueArrs = array_unique($serializeArrs);
$unserializeArrs = array_map('unserialize',$uniqueArrs);
print_r($unserializeArrs);
echo "</br></br></br>";
echo json_encode($unserializeArrs);

exit;

关于php的序列化的确是几年前才使用的技术,目前大家更多的是使用json_encode,且后者效率也比php的序列化高。

序列化也还是很有用的。上面的例子中主要是函数array_map()和array_unique()的结合使用。

关于序列化和json编码的效率对比的文章,可以参考 http://blog.csdn.net/hguisu/article/details/7651730

你可能感兴趣的文章
大数据入门:SparkCore开发调优原则
查看>>
大数据入门:Java和Scala编程对比
查看>>
大数据入门:Scala函数式编程
查看>>
大数据入门:大数据数据仓库解析
查看>>
Valid Parentheses
查看>>
Remove Nth Node From End of List
查看>>
Implement strStr()
查看>>
Add Binary
查看>>
Length of Last Word
查看>>
浅析淘宝数据魔方技术架构
查看>>
彻底解决mysql中文乱码的办法
查看>>
Excel Sheet Column Number
查看>>
Majority Element
查看>>
Factorial Trailing Zeroes
查看>>
Excel Sheet Column Title
查看>>
Add Two Numbers
查看>>
Balanced Binary Tree
查看>>
Integer to Roman
查看>>
Roman to Integer
查看>>
Minimum Depth of Binary Tree
查看>>