2013-12-10 37 views
0

我一直在尋找並嘗試幾個小時,我想在我的變量中查找重複項,然後打印數字,然後消除重複項,只留下原始數字。使用array_unique刪除重複並打印結果

這是我一直想:

$priceminpps = get_field('price_minpps'); 
$pricemaxpps = get_field('price_maxpps'); 
$priceminunit = get_field('price_minunit'); 
$pricemaxunit = get_field('price_maxunit'); 

$find_duplicates = array($priceminpps, $pricemaxpps, $priceminunit, $pricemaxunit,); 

$result = array_unique($find_duplicates); 
print($result); 

但它不工作,誰能幫助?

+2

你的意思'的print_r($結果)'? –

回答

0

仔細檢查array_unique是否沒有做它應該做的。

如果是真的array_unqiue()我會生成一個新的數組,並在這個新的數組中推送唯一的數字。您可以檢查它是否已經在in_array(number-to-check, $array)的新陣列中。如果in_array()未返回true,則將其添加到unique-number-array。

例子:

$result = array(); 
foreach ($find_duplicates as $number) { 
    if(!in_array($number, $result)) { 
     $result[] = $number; 
    } 
} 
+0

我是否像這樣傳遞數組中的變量:array =($ var1,$ var2)?此外,我如何迴應這一點,每次我回聲它輸出一個錯誤。 – user3025420

+0

如果你想添加一些東西到現有的數組中,你可以使用一個函數a.e. array_push()或者或者(就像我上面所做的那樣)「$ array [] = $ number」。空括號[]指示PHP在數組中創建/使用新的索引,因爲我們沒有指定索引。 如果你想看到數組的結構/內容,我會使用dump($ array),因爲echo()只會顯示「Array」作爲輸出。 – JustAPirate