2013-06-27 67 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 
) 
相关问题