PHP實(shí)現(xiàn)二維數(shù)組去重功能示例
本文實(shí)例講述了PHP實(shí)現(xiàn)二維數(shù)組去重功能。分享給大家供大家參考,具體如下:
php中二維數(shù)組去重操作。例如從數(shù)據(jù)庫中查詢出的記錄,根據(jù)某個(gè)鍵做去重操操作
代碼如下:
/** * 刪除二維數(shù)組中相同項(xiàng)的數(shù)據(jù),(一般用于數(shù)據(jù)庫查詢結(jié)果中相同記錄的去重操作) * * @param array $_2d_array 二維數(shù)組,類似: * $tmpArr = array( * array('id' => 1, 'value' => '15046f5de5bb708e'), * array('id' => 1, 'value' => '15046f5de5bb708e'), * ); * @param string $unique_key 表示上述數(shù)組的 "id" 鍵,或者 "value" 鍵 * * @return mixed */ function unique_2d_array_by_key($_2d_array, $unique_key) { $tmp_key[] = array(); foreach ($_2d_array as $key => &$item) { if ( is_array($item) && isset($item[$unique_key]) ) { if ( in_array($item[$unique_key], $tmp_key) ) { unset($_2d_array[$key]); } else { $tmp_key[] = $item[$unique_key]; } } } return $_2d_array; } //使用示例: $tmpArr = array( array('id' => 1, 'value' => '15046f5de5bb708e'), array('id' => 1, 'value' => '15046f5de5bb708e'), ); print_r(@unique_2d_array_by_key($tmpArr,id));
運(yùn)行結(jié)果:
Array ( [0] => Array ( [id] => 1 [value] => 15046f5de5bb708e ) )
原理:將需要去重的第二維數(shù)組中的鍵保存起來,遍歷對(duì)比下一組數(shù)據(jù),如遇鍵值相同則刪除。
PS:本站還有一款比較簡單實(shí)用的在線文本去重復(fù)工具,推薦給大家使用:
在線文本去重復(fù)工具:
http://tools.jb51.net/aideddesign/txt_quchong
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《php常用函數(shù)與技巧總結(jié)》、《PHP錯(cuò)誤與異常處理方法總結(jié)》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
PHP has encountered a Stack overflow問題解決方法
這篇文章主要介紹了PHP has encountered a Stack overflow問題解決方法,需要的朋友可以參考下2014-11-11php下利用curl判斷遠(yuǎn)程文件是否存在的實(shí)現(xiàn)代碼
php下利用curl判斷遠(yuǎn)程文件是否存在的實(shí)現(xiàn)代碼,我們有些程序因需要事先判斷文件是否存在然后再進(jìn)行后面的操作。2011-10-10PHP 使用Echarts生成數(shù)據(jù)統(tǒng)計(jì)報(bào)表的實(shí)現(xiàn)代碼
這篇文章主要介紹了PHP 使用Echarts生成數(shù)據(jù)統(tǒng)計(jì)報(bào)表的實(shí)現(xiàn)代碼,需要的朋友可以參考下2018-01-01php 獲取可變函數(shù)參數(shù)的函數(shù)
php取得可變函數(shù)參數(shù),方便后面的控制。2009-08-08