成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

[轉(zhuǎn)]php去除數(shù)組中重復(fù)數(shù)據(jù)

shery / 1675人閱讀

摘要:轉(zhuǎn)自實(shí)例腳本之家給數(shù)組排重與函數(shù)的區(qū)別它要求是字符串,而這個(gè)可以是數(shù)組對(duì)象要排重的數(shù)組是否保留原來(lái)的代碼很簡(jiǎn)單,卻非常的實(shí)用,有需要的小伙伴可以直接拿去用的。

轉(zhuǎn)自 _php實(shí)例_腳本之家
/**
         * 給數(shù)組排重
         * 與array_unique函數(shù)的區(qū)別:它要求val是字符串,而這個(gè)可以是數(shù)組/對(duì)象
         *
         * @param unknown_type $arr 要排重的數(shù)組
         * @param unknown_type $reserveKey 是否保留原來(lái)的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;
        }

代碼很簡(jiǎn)單,卻非常的實(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)//寫(xiě)的比較好
{
   $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ù)組,對(duì)多維數(shù)組并不適用,以下提供一個(gè)二維數(shù)組 的 array_unique函數(shù)
復(fù)制代碼 代碼如下:

function unique_arr($array2D,$stkeep=false,$ndformat=true)
{
    // 判斷是否保留一級(jí)數(shù)組鍵 (一級(jí)數(shù)組鍵可以為非數(shù)字)
    if($stkeep) $stArr = array_keys($array2D);
    // 判斷是否保留二級(jí)數(shù)組鍵 (所有二級(jí)數(shù)組鍵必須相同)
    if($ndformat) $ndArr = array_keys(end($array2D));
    //降維,也可以用implode,將一維數(shù)組轉(zhuǎn)換為用逗號(hào)連接的字符串
    foreach ($array2D as $v){
        $v = join(",",$v); 
        $temp[] = $v;
    }
    //去掉重復(fù)的字符串,也就是重復(fù)的一維數(shù)組
    $temp = array_unique($temp); 
    //再將拆開(kāi)的數(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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/23206.html

相關(guān)文章

  • 慎用PHP的unset、array_unique方法

    摘要:當(dāng)我們使用的時(shí)候,會(huì)導(dǎo)致數(shù)據(jù)結(jié)構(gòu)不一致。而當(dāng)方法執(zhí)行后,數(shù)組會(huì)去除相應(yīng)索引下標(biāo)指定的值,并且不會(huì)重置索引。官方文檔介紹如下返回?cái)?shù)組中所有的值說(shuō)明返回?cái)?shù)組中所有的值并給其建立數(shù)字索引。 背景 在日常工作中,可能會(huì)經(jīng)常遇到一些PHP的代碼場(chǎng)景,需要我們?nèi)コ龜?shù)組中的某個(gè)項(xiàng),通常會(huì)直接調(diào)用unset方法,但是如果用得不妥,會(huì)給自己挖坑 1.實(shí)操 以下使用具體例子進(jìn)行證明假設(shè)有數(shù)組如下值: $...

    muzhuyu 評(píng)論0 收藏0
  • xe-utils 函數(shù)庫(kù),javascript 工具類

    摘要:最新版本見(jiàn),點(diǎn)擊查看歷史版本提供一套實(shí)用的基礎(chǔ)函數(shù)任意格式的日期轉(zhuǎn)換函數(shù),瀏覽器相關(guān)操作函數(shù)等全局參數(shù)設(shè)置默認(rèn)全局參數(shù)基礎(chǔ)函數(shù)判斷是否非數(shù)值判斷是否為有限數(shù)值判斷判斷是否數(shù)組判斷是否小數(shù)判斷是否整數(shù)判斷是否對(duì)象判斷是否對(duì)象判斷是否對(duì)象判斷是 最新版本見(jiàn) Github,點(diǎn)擊查看歷史版本 XEUtils 提供一套實(shí)用的基礎(chǔ)函數(shù)、任意格式的日期轉(zhuǎn)換函數(shù),瀏覽器相關(guān)操作函數(shù)等... API ...

    DrizzleX 評(píng)論0 收藏0
  • PHP常用函數(shù)之字符串處理

    摘要:為數(shù)組示例說(shuō)明在中將字符串替換為即可。返回其中如果的數(shù)組值比的數(shù)組值長(zhǎng),將中多出來(lái)的數(shù)組元素在中匹配的字符串替換為空串,返回。 字符串大小寫(xiě)轉(zhuǎn)換 strtoupper(string $str) //把字符串全部轉(zhuǎn)換成大寫(xiě)字母 strtolower(string $str) //把字符串全部轉(zhuǎn)換成小寫(xiě)字母 ucfirst(string $str) //把字符串的首字母轉(zhuǎn)換成大寫(xiě) ucw...

    SwordFly 評(píng)論0 收藏0
  • js數(shù)組去重方法分析與總結(jié)

    摘要:階段該階段主要通過(guò)循環(huán)遍歷數(shù)組從而達(dá)到去重的目的多次循環(huán)去掉重復(fù)元素以下所有方法默認(rèn)都那拿該數(shù)組進(jìn)行測(cè)試結(jié)果如下圖可見(jiàn)除了沒(méi)有去掉,其他效果都還挺好。 數(shù)組去重經(jīng)常被人拿來(lái)說(shuō)事,雖然在工作中不常用,但他能夠很好的考察js基礎(chǔ)知識(shí)掌握的深度和廣度,下面從js的不同階段總結(jié)一下去重的方法。 ES3階段 該階段主要通過(guò)循環(huán)遍歷數(shù)組從而達(dá)到去重的目的 多次循環(huán)去掉重復(fù)元素 // 以下所有方法默...

    nevermind 評(píng)論0 收藏0
  • PHP的優(yōu)化Tips

    摘要:是個(gè)巨大的資源庫(kù),很多開(kāi)發(fā)者都知道使用能自動(dòng)打印一份很好格式化的頁(yè)面源代碼的副本使用函數(shù)來(lái)預(yù)防潛在的敏感信息顯示給用戶。理想的錯(cuò)誤報(bào)告應(yīng)該被完全禁用在文件里。優(yōu)化語(yǔ)句,盡量少進(jìn)行。 Celebrate what youve accomplished, but raise the bar a little higher each time you succeed. 如果一個(gè)方法能被靜...

    趙春朋 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<