2013-06-27 109 views
-2

當前碼 -如何從一個數組獲得的唯一值

<?php 
$arrunsort = array('ab','ad','ar','cd','cb','sc','si','wa','za'); 
$prevLabel = array(); 
$currLabelarr = array(); 
foreach($arrunsort as $sortelem) 
{ 
    $currLabel = substr($sortelem, 0, 1); 
    if($currLabel !== $prevLabel) 
    { 
     $currLabelarr[] = $currLabel; 
     $prevLabel[] = $currLabel; 
    } 
} 
echo "<pre>"; 
print_r($currLabelarr); 

輸出 -

Array 
(
    [0] => a 
    [1] => a 
    [2] => a 
    [3] => c 
    [4] => c 
    [5] => s 
    [6] => s 
    [7] => w 
    [8] => z 
) 

從代碼我的預期輸出 -

Array 
(
    [0] => a 
    [1] => c 
    [2] => s 
    [3] => w 
    [4] => z 
) 

我知道我可以使用array_unique()與這個數組,但是我如何從上面的代碼管理它,因爲array_unique的輸出看起來不太好。

輸出print_r(array_unique($currLabelarr));

Array 
(
    [0] => a 
    [3] => c 
    [5] => s 
    [7] => w 
    [8] => z 
) 
+1

請注意alerady,$ prevLabel不應該是一個數組... –

+0

使用'array_values(array_unique($ currLabelarr))' – Prabhuram

+0

*之前*你提問一個問題,你應該對一些研究,包括搜索這個網站爲現有的信息。請多加小心。另外,請將您的代碼示例降至最低程度,以展示具體問題。這也將幫助您更好地搜索現有材料並更好地解決您的問題。 – hakre

回答

0

簡單

print_r(array_unique($currLabelarr)); 

您可以申請array_values價值爲基礎,以獨特的打印陣列

print_r(array_values(array_unique($currLabelarr))); 
0

只是改變 -

$prevLabel[] = $currLabel; 

$prevLabel = $currLabel; 

輸出 -

Array 
(
    [0] => a 
    [1] => c 
    [2] => s 
    [3] => w 
    [4] => z 
) 
2

使用array_values

print_r(array_values(array_unique($currLabelarr))); 

輸出

Array 
(
[0] => a 
[1] => c 
[2] => s 
[3] => w 
[4] => z 
) 
相關問題