本文實例講述了PHP實現的多維數組去重操作。分享給大家供大家參考,具體如下:
最近用到了一個獲取歷史會議列表的問題,需要去這個多維數組去重后返回返回給客戶端,這里使用了幾個php的組裝函數,分享下,示例代碼如下:
<?php $str = '{ "status": 0, "result": [ { "hostName": "楊新", "pcode2": "41675441", "email": "[email protected]", "selfName": "邵兵" }, { "hostName": "楊新", "pcode2": "41675441", "email": "[email protected]", "selfName": "邵兵" }, { "hostName": "中信國安科技控股有限公司", "pcode2": "9730284461", "email": "[email protected]", "selfName": "邵兵" }, { "hostName": "中信國安科技控股有限公司", "pcode2": "9730284461", "email": "[email protected]", "selfName": "邵兵" }, { "hostName": "劉惠", "pcode2": "64068956", "email": "[email protected]", "selfName": "邵兵" }, { "hostName": "劉惠", "pcode2": "64068956", "email": "[email protected]", "selfName": "邵兵" }, { "hostName": "劉凱南", "pcode2": "14818360", "email": "[email protected]", "selfName": "邵兵" }, { "hostName": "劉凱南", "pcode2": "14818360", "email": "[email protected]", "selfName": "邵兵" }, { "hostName": "宋緯奇", "pcode2": "62947142", "email": "[email protected]", "selfName": "邵兵" }, { "hostName": "宋緯奇", "pcode2": "62947142", "email": "[email protected]", "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;
運行結果:
num: 10Array ( [0] => Array ( [hostName] => 楊新 [pcode2] => 41675441 [email] => [email protected] [selfName] => 邵兵 ) [1] => Array ( [hostName] => 楊新 [pcode2] => 41675441 [email] => [email protected] [selfName] => 邵兵 ) [2] => Array ( [hostName] => 中信國安科技控股有限公司 [pcode2] => 9730284461 [email] => [email protected] [selfName] => 邵兵 ) [3] => Array ( [hostName] => 中信國安科技控股有限公司 [pcode2] => 9730284461 [email] => [email protected] [selfName] => 邵兵 ) [4] => Array ( [hostName] => 劉惠 [pcode2] => 64068956 [email] => [email protected] [selfName] => 邵兵 ) [5] => Array ( [hostName] => 劉惠 [pcode2] => 64068956 [email] => [email protected] [selfName] => 邵兵 ) [6] => Array ( [hostName] => 劉凱南 [pcode2] => 14818360 [email] => [email protected] [selfName] => 邵兵 ) [7] => Array ( [hostName] => 劉凱南 [pcode2] => 14818360 [email] => [email protected] [selfName] => 邵兵 ) [8] => Array ( [hostName] => 宋緯奇 [pcode2] => 62947142 [email] => [email protected] [selfName] => 邵兵 ) [9] => Array ( [hostName] => 宋緯奇 [pcode2] => 62947142 [email] => [email protected] [selfName] => 邵兵 ) )
Array ( [0] => Array ( [hostName] => 楊新 [pcode2] => 41675441 [email] => [email protected] [selfName] => 邵兵 ) [2] => Array ( [hostName] => 中信國安科技控股有限公司 [pcode2] => 9730284461 [email] => [email protected] [selfName] => 邵兵 ) [4] => Array ( [hostName] => 劉惠 [pcode2] => 64068956 [email] => [email protected] [selfName] => 邵兵 ) [6] => Array ( [hostName] => 劉凱南 [pcode2] => 14818360 [email] => [email protected] [selfName] => 邵兵 ) [8] => Array ( [hostName] => 宋緯奇 [pcode2] => 62947142 [email] => [email protected] [selfName] => 邵兵 ) )
{"0":{"hostName":"\u6768\u65b0","pcode2":"41675441","email":"[email protected]","selfName":"\u90b5\u5175"},"2":{"hostName":"\u4e2d\u4fe1\u56fd\u5b89\u79d1\u6280\u63a7\u80a1\u6709\u9650\u516c\u53f8","pcode2":"9730284461","email":"[email protected]","selfName":"\u90b5\u5175"},"4":{"hostName":"\u5218\u60e0","pcode2":"64068956","email":"[email protected]","selfName":"\u90b5\u5175"},"6":{"hostName":"\u5218\u51ef\u5357","pcode2":"14818360","email":"[email protected]","selfName":"\u90b5\u5175"},"8":{"hostName":"\u5b8b\u7eac\u5947","pcode2":"62947142","email":"[email protected]","selfName":"\u90b5\u5175"}}
關于php的序列化的確是幾年前才使用的技術,目前大家更多的是使用json_encode
,且后者效率也比php的序列化高。
序列化也還是很有用的。上面的例子中主要是函數array_map()
和array_unique()
的結合使用。
希望本文所述對大家PHP程序設計有所幫助。