PHP中key和current,next的聯(lián)合運(yùn)用實(shí)例分析
本文實(shí)例講述了PHP中key和current,next的聯(lián)合運(yù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è)空的用來比較的數(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 { // 對其余一維數(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ù)組的合集,用來進(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基本語法入門教程》、《php操作office文檔技巧總結(jié)(包括word,excel,access,ppt)》、《php日期與時(shí)間用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家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í)例
- 通過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-10
PHP實(shí)現(xiàn)獲取并生成數(shù)據(jù)庫字典的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)獲取并生成數(shù)據(jù)庫字典的方法,可實(shí)現(xiàn)讀取數(shù)據(jù)庫并列出詳細(xì)數(shù)據(jù)庫信息的功能,需要的朋友可以參考下2016-05-05
php通過curl添加cookie偽造登陸抓取數(shù)據(jù)的方法
這篇文章主要介紹了php通過curl添加cookie偽造登陸抓取數(shù)據(jù)的方法,涉及PHP基于curl操作cookie及頁面抓取的相關(guān)技巧,需要的朋友可以參考下2016-04-04
php cookie的操作實(shí)現(xiàn)代碼(登錄)
cookie 常用于識(shí)別用戶。cookie 是服務(wù)器留在用戶計(jì)算機(jī)中的小文件。每當(dāng)相同的計(jì)算機(jī)通過瀏覽器請求頁面時(shí),它同時(shí)會(huì)發(fā)送 cookie。通過 PHP,您能夠創(chuàng)建并取回 cookie 的值。2010-12-12
memcached 和 mysql 主從環(huán)境下php開發(fā)代碼詳解
一般的大站通常做法是 拿著內(nèi)存當(dāng)數(shù)據(jù)庫來用(memcached). 和很好的讀 寫分離 備份機(jī)制 (mysql 的主從) 在這樣的環(huán)境下我們怎么進(jìn)行PHP開發(fā)呢。2010-05-05
PHP預(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ù)的效率
本篇文章是對strtr, str_replace和preg_replace三個(gè)函數(shù)的效率問題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

