導航:首頁 > 編程語言 > php去重

php去重

發布時間:2022-01-31 23:51:47

A. php性能更好的去重和是否存在

去重
很多時候操作數組去重,一般使用array_unique()函數,但是在大數組的情況下運行地慢一些
更好的方式:
//把數組的鍵值交換過來,因為數組的健不能重復,就實現了去重
$array = array('a', 'b', 'c', 'a', 'd');
$array = array_flip($array);
//修復數組鍵值序列
$array = array_keys($array)
//再把數組的鍵值交換回來
$array = array_flip($array);

判斷是否存在
一般情況下判斷一個值是否已在在數組中in_array(), in_array()性能不太好
更好的方式
$array = array('a', 'b', 'c', 'd');
if (isset(array_flip($array)['a'])){

};

B. php中怎麼為字元串去重

先拿explode函數轉換為數組
然後使用array_unique去重復
最後,再用join組合成原來的字元串

C. php無序字元串怎麼去除重復

可以講其中一個字元中滴每個字元與另外一個字元對比,如果存在就不保留,如果不存在就保留;具體方法將a字元分解成字元串數組,然後循環對比;

D. php數組去重方法

array_unique()韓順可以去除數組中存在的具有相同值的元素,具體你可以自己試驗下
<?php
$input=array("a"=>"green","","red","b"=>"green","","blue","red","c"=>"witer","hello","witer");//假設一個數組
$result=array_unique($input);//去除其中值相同的元素
print_r($result);
?>

E. php 多個一維關聯數組去重

因為不太了解你其他業務,這里通過對多個數組觀察發現,他們的鍵名都是一致的。所以有2個簡單的辦法

(1)先翻轉一維數組,然後進行合並,再翻轉回來

這里就不寫詳細代碼,寫下簡單過程

  1. $array_a =array_flip($array_a);

    這樣交換後的數組內容如下

    Array
    (
    [DHL] =>carrier
    )

    Array
    (
    [HKPT] =>carrier
    )

    ....

  2. 合並數組,使用array_merge,數組中有相同的字元串鍵名,則該鍵名後面的值將覆蓋前一個值

    $mergeArray = array_merge($array_a,$array_b,$array_c...);

    這樣得到一個數組,裡面的元素都是鍵名不重復的,內容如下

    Array

    (

    [DHL] =>carrier

    [HKPT] =>carrier

    ....

    )

  3. 還原數組,這里如果要完全打散成一個一個的一維數組,就直接array_shift,同時翻轉回來

    $array_a =array_shift($mergeArray);$array_a =array_flip($array_a);

    $array_b =array_shift($mergeArray);$array_b=array_flip($array_b);

    ...

    這里一個一個執行可以用for循環替代,數組中有多少個元素就執行多少次,




(2)最簡單的辦法,只從你提供的例子來說,鍵名都一樣,直接先去掉鍵名,然後組合成一個數字索引的數組,直接array-unique,再把鍵名放回去


如果有不清楚可以發消息

F. php二維數組去重

方法一:

//二維數組去掉重復值function array_unique_fb($array2D){ foreach ($array2D as $v){ $v=join(',',$v); //降維,也可以用implode,將一維數組轉換為用逗號連接的字元串 $temp[]=$v; } $temp=array_unique($temp); //去掉重復的字元串,也就是重復的一維數組 foreach ($temp as $k => $v){ $temp[$k]=explode(',',$v); //再將拆開的數組重新組裝 } return $temp;}

方法二:

//二維數組去掉重復值,並保留鍵值function array_unique_fb($array2D){ foreach ($array2D as $k=>$v){ $v=join(',',$v); //降維,也可以用implode,將一維數組轉換為用逗號連接的字元串 $temp[$k]=$v; } $temp=array_unique($temp); //去掉重復的字元串,也就是重復的一維數組 foreach ($temp as $k => $v){ $array=explode(',',$v); //再將拆開的數組重新組裝 //下面的索引根據自己的情況進行修改即可 $temp2[$k]['id'] =$array[0]; $temp2[$k]['title'] =$array[1]; $temp2[$k]['keywords'] =$array[2]; $temp2[$k]['content'] =$array[3]; } return $temp2;}

G. php 二維數組值去重~

$a =
array(
array(a,b,c),

array(b,d,e),
array(a,e,f)

)
print_r(array(array_diff($a[0],$a[1],$a[2]),array_diff($a[1],$a[2]),$a[2]));

輸出來的就是你要的答案

H. php數組去除重復的值

之前寫了一篇關於數組去重的文章,但是僅限於一維數組。下面的函數可以用於二維數組:
//二維數組去掉重復值
function array_unique_fb($array2D){foreach ($array2D as $v){$v = join(",",$v); //降維,也可以用implode,將一維數組轉換為用逗號連接的字元串
$temp[] = $v;}
$temp = array_unique($temp); //去掉重復的字元串,也就是重復的一維數組
foreach ($temp as $k => $v){$temp[$k] = explode(",",$v); //再將拆開的數組重新組裝}return $temp;}
如果你想保留數組的鍵值,可以用下面的函數:
//二維數組去掉重復值 並保留鍵值
function array_unique_fb($array2D){foreach ($array2D as $k=>$v){$v = join(",",$v); //降維,也可以用implode,將一維數組轉換為用逗號連接的字元串
$temp[$k] = $v;}$temp = array_unique($temp); //去掉重復的字元串,也就是重復的一維數組
foreach ($temp as $k => $v){$array=explode(",",$v); //再將拆開的數組重新組裝
$temp2[$k]["id"] =$array[0];
$temp2[$k]["litpic"] =$array[1];
$temp2[$k]["title"] =$array[2];
$temp2[$k]["address"] =$array[3];
$temp2[$k]["starttime"] =$array[4];
$temp2[$k]["endtime"] =$array[5];
$temp2[$k]["classid"] =$array[6];
大概就這樣啦。
以上回答你滿意么?

I. php數組怎麼去除重復的數組值

array_unique() 函數定義和用法
移除數組中的重復的值,並返回結果數組。
當幾個數組元素的值相等時,只保留第一個元素,其他的元素被刪除。
返回的數組中鍵名不變。
<?php
$a=array("a"=>"XX","b"=>"D","c"=>"XX");
print_r(array_unique($a));
?>
輸出:Array ( [a] => XX [b] => D)

J. php數組去重 現在我有一個這樣的數組

$new=array();
foreach($arrayas$val){
$new[]=$val['treat_method'];
}
$new=array_flip(array_flip($new));
var_mp($new);


應該會顯示

array('手術,西醫葯物','手術','西醫葯物');
閱讀全文

與php去重相關的資料

熱點內容
編譯器原理與實現書 瀏覽:708
dos選擇命令 瀏覽:16
apm固件編譯到單片機 瀏覽:120
聯通深藍卡都包含什麼app 瀏覽:263
如何判斷網路伺服器正常 瀏覽:649
路由器搭橋遠端伺服器地址是什麼 瀏覽:515
編譯動態庫時會連接依賴庫嗎 瀏覽:707
淘寶手機加密是隨機的嗎 瀏覽:672
解壓包子怎麼裝飾 瀏覽:585
四個數湊24演算法 瀏覽:676
哪一種不是vi編譯器的模式 瀏覽:169
xp在此處打開命令窗口 瀏覽:128
代碼編譯運行用什麼軟體 瀏覽:999
動態庫在程序編譯時會被連接到 瀏覽:761
python超簡單編程 瀏覽:260
獲取命令方 瀏覽:977
怎樣製作文件夾和圖片 瀏覽:60
調研編譯寫信息 瀏覽:861
python馮諾依曼 瀏覽:419
同時安裝多個app有什麼影響 瀏覽:254