導航:首頁 > 編程語言 > 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去重相關的資料

熱點內容
pdf光子 瀏覽:832
自拍軟體文件夾名稱大全 瀏覽:325
程序員留學移民 瀏覽:49
梁中間部位箍筋加密區 瀏覽:117
頻譜分析pdf 瀏覽:750
樂2怎麼升級安卓70 瀏覽:172
java中獲取日期 瀏覽:506
單片機74hc245 瀏覽:272
美國歷史上的總統pdf 瀏覽:751
程序員脫單實驗室靠不靠譜 瀏覽:458
php中間四位手機號 瀏覽:869
永旺app怎麼樣了 瀏覽:516
壓縮空氣流量計算軟體 瀏覽:649
智慧聊天app怎麼激活 瀏覽:924
一加換機備份到哪個文件夾 瀏覽:735
支撐pdf 瀏覽:417
java空文件夾刪除 瀏覽:587
安卓9跟81有什麼區別 瀏覽:912
n1藍寶書pdf 瀏覽:244
為什麼安卓機拍照那麼丑 瀏覽:696