PHP中key和current,next的聯(lián)合運(yùn)用實(shí)例分析
本文實(shí)例講述了PHP中key和current,next的聯(lián)合運(yùn)用方法。分享給大家供大家參考,具體如下:
問(wèn)題:
$arrq = array(); $arrq['tuc'] = array('sss'=>'ewq','shu'=>'sjkah','saa'=>'dwjhaz'); $arrq['tucs'] = array('ssss'=>'ewsq','sQhu'=>dwjhaz','sa12a'=>'dwjQhaz'); $arrq['tuca'] = array('sssd'=>'ewqq','shu2'=>'sjkah','saSa'=>'dwjhhaz');
如何在不破壞數(shù)組結(jié)構(gòu)的情況下去除$arrq數(shù)組中的重復(fù)的值?
思路:先將第一個(gè)二維數(shù)組中的元素用array_unique函數(shù)輸出。
輸出第二個(gè)二維數(shù)組中的元素時(shí),自己先用array_unique處理,再去掉在第一個(gè)二維數(shù)組中已經(jīng)存在的元素。
輸出第三個(gè)時(shí),自己先用array_unique處理,再去掉在第一個(gè)和第二個(gè)二維數(shù)組合集中已經(jīng)存在的元素。
以此類推。
總之,自己先要array_unqiue去重,再去掉自身中在前面所在數(shù)組元素合集中存在的元素。
以下為代碼:
<?php $arrq = array(); $arrq['tuc'] = array('sss'=>'ewq','shu'=>'sjkah','saa'=>'dwjhaz'); $arrq['tucs'] = array('ssss'=>'ewsq','sQhu'=>'dwjhaz','sa12a'=>'dwjQhaz'); $arrq['tuca'] = array('sssd'=>'ewqq','shu2'=>'sjkah','saSa'=>'dwjhhaz'); $last=array(); //設(shè)置一個(gè)空的用來(lái)比較的數(shù)組 while($arr=current($arrq)) { //echo key($arrq); $tmp=array_unique($arr); //先清除每個(gè)一維數(shù)組自身相同的值 if(count($last)==0) { $last=array_merge($last,$arr); //將已經(jīng)去重的前面的數(shù)組合并 } else { // 對(duì)其余一維數(shù)組進(jìn)行輸出 //echo key($arrq); foreach($arr as $ke=>$va) { if(in_array($arr[$ke], $last)) //如果已經(jīng)存在的元素 unset($arrq[key($arrq)][$ke]); //刪除,此處取得數(shù)組元素的KEY值是關(guān)鍵 } $last=array_merge($last,$arr); //將$last變?yōu)榍懊鏀?shù)組的合集,用來(lái)進(jìn)行下次比較 } next($arrq); //指針向后移,這樣才能用key函數(shù)取得不同的$arrq的下標(biāo) } //以下輸出處理后的數(shù)組 foreach($arrq as $arr) { foreach($arr as $val) { echo $val." "; } echo "<br>"; } ?>
運(yùn)行結(jié)果為:
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語(yǔ)法入門教程》、《php操作office文檔技巧總結(jié)(包括word,excel,access,ppt)》、《php日期與時(shí)間用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- php中使用key,value,current,next和prev函數(shù)遍歷數(shù)組的方法
- PHP中array_keys和array_unique函數(shù)源碼的分析
- php恢復(fù)數(shù)組的key為數(shù)字序列的方法
- php實(shí)現(xiàn)數(shù)組按指定KEY排序的方法
- PHP處理JSON字符串key缺少雙引號(hào)的解決方法
- php數(shù)組索引的Key加引號(hào)和不加引號(hào)的區(qū)別
- PHP 如何獲取二維數(shù)組中某個(gè)key的集合
- PHP 數(shù)組current和next用法分享
- php中current、next與reset函數(shù)用法實(shí)例
- 通過(guò)PHP current函數(shù)獲取未知字符鍵名數(shù)組第一個(gè)元素的值
相關(guān)文章
PHP實(shí)現(xiàn)統(tǒng)計(jì)所有字符在字符串中出現(xiàn)次數(shù)的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)統(tǒng)計(jì)所有字符在字符串中出現(xiàn)次數(shù)的方法,涉及php字符遍歷與統(tǒng)計(jì)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-10-10PHP實(shí)現(xiàn)獲取并生成數(shù)據(jù)庫(kù)字典的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)獲取并生成數(shù)據(jù)庫(kù)字典的方法,可實(shí)現(xiàn)讀取數(shù)據(jù)庫(kù)并列出詳細(xì)數(shù)據(jù)庫(kù)信息的功能,需要的朋友可以參考下2016-05-05php通過(guò)curl添加cookie偽造登陸抓取數(shù)據(jù)的方法
這篇文章主要介紹了php通過(guò)curl添加cookie偽造登陸抓取數(shù)據(jù)的方法,涉及PHP基于curl操作cookie及頁(yè)面抓取的相關(guān)技巧,需要的朋友可以參考下2016-04-04php cookie的操作實(shí)現(xiàn)代碼(登錄)
cookie 常用于識(shí)別用戶。cookie 是服務(wù)器留在用戶計(jì)算機(jī)中的小文件。每當(dāng)相同的計(jì)算機(jī)通過(guò)瀏覽器請(qǐng)求頁(yè)面時(shí),它同時(shí)會(huì)發(fā)送 cookie。通過(guò) PHP,您能夠創(chuàng)建并取回 cookie 的值。2010-12-12memcached 和 mysql 主從環(huán)境下php開發(fā)代碼詳解
一般的大站通常做法是 拿著內(nèi)存當(dāng)數(shù)據(jù)庫(kù)來(lái)用(memcached). 和很好的讀 寫分離 備份機(jī)制 (mysql 的主從) 在這樣的環(huán)境下我們?cè)趺催M(jìn)行PHP開發(fā)呢。2010-05-05PHP預(yù)定義超全局?jǐn)?shù)組變量小結(jié)
這篇文章主要介紹了PHP預(yù)定義超全局?jǐn)?shù)組變量,結(jié)合實(shí)例形式總結(jié)分析了預(yù)定義超全局?jǐn)?shù)組變量的特性、功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2018-08-08比較strtr, str_replace和preg_replace三個(gè)函數(shù)的效率
本篇文章是對(duì)strtr, str_replace和preg_replace三個(gè)函數(shù)的效率問(wèn)題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06