摘要:轉(zhuǎn)自實(shí)例腳本之家給數(shù)組排重與函數(shù)的區(qū)別它要求是字符串,而這個(gè)可以是數(shù)組對象要排重的數(shù)組是否保留原來的代碼很簡單,卻非常的實(shí)用,有需要的小伙伴可以直接拿去用的。
轉(zhuǎn)自 _php實(shí)例_腳本之家
/** * 給數(shù)組排重 * 與array_unique函數(shù)的區(qū)別:它要求val是字符串,而這個(gè)可以是數(shù)組/對象 * * @param unknown_type $arr 要排重的數(shù)組 * @param unknown_type $reserveKey 是否保留原來的Key * @return unknown */ static function m_ArrayUnique($arr, $reserveKey = false) { if (is_array($arr) && !empty($arr)) { foreach ($arr as $key => $value) { $tmpArr[$key] = serialize($value) . ""; } $tmpArr = array_unique($tmpArr); $arr = array(); foreach ($tmpArr as $key => $value) { if ($reserveKey) { $arr[$key] = unserialize($value); } else { $arr[] = unserialize($value); } } } return $arr; } 代碼很簡單,卻非常的實(shí)用,有需要的小伙伴可以直接拿去用的。 另附上其他網(wǎng)友的解決辦法 復(fù)制代碼 代碼如下: $input = array("a" => "green","", "red","b" => "green", "","blue", "red","c" => "witer","hello","witer"); //$result = array_unique($input); //去除重復(fù)元素 $result = a_array_unique($input); //只留下單一元素 foreach($result as $aa) { echo $aa." "; } function multi_unique($array) { foreach ($array as $k=>$na) $new[$k] = serialize($na); $uniq = array_unique($new); foreach($uniq as $k=>$ser) $new1[$k] = unserialize($ser); return ($new1); } function a_array_unique($array)//寫的比較好 { $out = array(); foreach ($array as $key=>$value) { if (!in_array($value, $out)) { $out[$key] = $value; } } return $out; } ?> PHP數(shù)組去除重復(fù)項(xiàng) 有個(gè)內(nèi)置函數(shù)array_unique (),但是php的 array_unique函數(shù)只適用于一維數(shù)組,對多維數(shù)組并不適用,以下提供一個(gè)二維數(shù)組 的 array_unique函數(shù) 復(fù)制代碼 代碼如下: function unique_arr($array2D,$stkeep=false,$ndformat=true) { // 判斷是否保留一級數(shù)組鍵 (一級數(shù)組鍵可以為非數(shù)字) if($stkeep) $stArr = array_keys($array2D); // 判斷是否保留二級數(shù)組鍵 (所有二級數(shù)組鍵必須相同) if($ndformat) $ndArr = array_keys(end($array2D)); //降維,也可以用implode,將一維數(shù)組轉(zhuǎn)換為用逗號連接的字符串 foreach ($array2D as $v){ $v = join(",",$v); $temp[] = $v; } //去掉重復(fù)的字符串,也就是重復(fù)的一維數(shù)組 $temp = array_unique($temp); //再將拆開的數(shù)組重新組裝 foreach ($temp as $k => $v) { if($stkeep) $k = $stArr[$k]; if($ndformat) { $tempArr = explode(",",$v); foreach($tempArr as $ndkey => $ndval) $output[$k][$ndArr[$ndkey]] = $ndval; } else $output[$k] = explode(",",$v); } return $output; } 演示: $array2D = array("first"=>array("title"=>"1111","date"=>"2222"),"second"=>array("title"=>"1111","date"=>"2222"),"third"=>array("title"=>"2222","date"=>"3333")); print_r($array2D);
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/23206.html
摘要:當(dāng)我們使用的時(shí)候,會導(dǎo)致數(shù)據(jù)結(jié)構(gòu)不一致。而當(dāng)方法執(zhí)行后,數(shù)組會去除相應(yīng)索引下標(biāo)指定的值,并且不會重置索引。官方文檔介紹如下返回?cái)?shù)組中所有的值說明返回?cái)?shù)組中所有的值并給其建立數(shù)字索引。 背景 在日常工作中,可能會經(jīng)常遇到一些PHP的代碼場景,需要我們?nèi)コ龜?shù)組中的某個(gè)項(xiàng),通常會直接調(diào)用unset方法,但是如果用得不妥,會給自己挖坑 1.實(shí)操 以下使用具體例子進(jìn)行證明假設(shè)有數(shù)組如下值: $...
摘要:最新版本見,點(diǎn)擊查看歷史版本提供一套實(shí)用的基礎(chǔ)函數(shù)任意格式的日期轉(zhuǎn)換函數(shù),瀏覽器相關(guān)操作函數(shù)等全局參數(shù)設(shè)置默認(rèn)全局參數(shù)基礎(chǔ)函數(shù)判斷是否非數(shù)值判斷是否為有限數(shù)值判斷判斷是否數(shù)組判斷是否小數(shù)判斷是否整數(shù)判斷是否對象判斷是否對象判斷是否對象判斷是 最新版本見 Github,點(diǎn)擊查看歷史版本 XEUtils 提供一套實(shí)用的基礎(chǔ)函數(shù)、任意格式的日期轉(zhuǎn)換函數(shù),瀏覽器相關(guān)操作函數(shù)等... API ...
摘要:為數(shù)組示例說明在中將字符串替換為即可。返回其中如果的數(shù)組值比的數(shù)組值長,將中多出來的數(shù)組元素在中匹配的字符串替換為空串,返回。 字符串大小寫轉(zhuǎn)換 strtoupper(string $str) //把字符串全部轉(zhuǎn)換成大寫字母 strtolower(string $str) //把字符串全部轉(zhuǎn)換成小寫字母 ucfirst(string $str) //把字符串的首字母轉(zhuǎn)換成大寫 ucw...
摘要:階段該階段主要通過循環(huán)遍歷數(shù)組從而達(dá)到去重的目的多次循環(huán)去掉重復(fù)元素以下所有方法默認(rèn)都那拿該數(shù)組進(jìn)行測試結(jié)果如下圖可見除了沒有去掉,其他效果都還挺好。 數(shù)組去重經(jīng)常被人拿來說事,雖然在工作中不常用,但他能夠很好的考察js基礎(chǔ)知識掌握的深度和廣度,下面從js的不同階段總結(jié)一下去重的方法。 ES3階段 該階段主要通過循環(huán)遍歷數(shù)組從而達(dá)到去重的目的 多次循環(huán)去掉重復(fù)元素 // 以下所有方法默...
摘要:是個(gè)巨大的資源庫,很多開發(fā)者都知道使用能自動打印一份很好格式化的頁面源代碼的副本使用函數(shù)來預(yù)防潛在的敏感信息顯示給用戶。理想的錯(cuò)誤報(bào)告應(yīng)該被完全禁用在文件里。優(yōu)化語句,盡量少進(jìn)行。 Celebrate what youve accomplished, but raise the bar a little higher each time you succeed. 如果一個(gè)方法能被靜...
閱讀 2737·2023-04-25 18:10
閱讀 1678·2019-08-30 15:53
閱讀 2944·2019-08-30 13:10
閱讀 3297·2019-08-29 18:40
閱讀 1194·2019-08-23 18:31
閱讀 1261·2019-08-23 16:49
閱讀 3457·2019-08-23 16:07
閱讀 929·2019-08-23 15:27