<?
$aa = array(1,2,4,2,4,1);
$aa = UniqueArrayNoNULL($aa);
print "<pre>";
print_r($aa);
print "</pre>";
function UniqueArrayNoNULL($Array){
for ($i=0;$i<count($Array);$i++){ 
if ($Array[$i] != ""){ 
$U_Array[$Array[$i]] = 1; 


@reset($U_Array); 
for ($i=0;$i<count($U_Array);$i++) { 
$Unique_Array[] = key($U_Array); 
next($U_Array); 
}
return $Unique_Array;
}function UniqueArrayHaveNULL($Array){
 for ($i=0;$i<$count($Array);$i++){
       $U_Array[$Array[$i]] = 1;
 }
 @reset($U_Array);
 for ($i=0;$i<count($U_Array);$i++) {
     $Unique_Array[] = key($U_Array);
     next($U_Array);
 }
 return $Unique_Array;
}

解决方案 »

  1.   

    说明一下
    <?php
    //本函数是通过“数组的key"来滤过掉相同的值,再把key赋给一个数组来完成的
    $aa = array(1,2,4,2,4,1);
    $aa = UniqueArrayNoNULL($aa);
    print "<pre>";
    print_r($aa);
    print "</pre>";
    function UniqueArrayNoNULL($Array){
    for ($i=0;$i<count($Array);$i++){ 
    if ($Array[$i] != ""){ 
    $U_Array[$Array[$i]] = 1; 


    @reset($U_Array); //将数组的指针指到数组的第一个元素
    for ($i=0;$i<count($U_Array);$i++) { 
    $Unique_Array[] = key($U_Array); //将数组的key给数组Unique_Array
    next($U_Array); //下一个元素
    }
    return $Unique_Array;
    }
      

  2.   

    有现成的函数
    array_unique (PHP4 >= 4.0.1) 
    array array_unique (array array) 例:
    <pre>
    <?php
    $aa = array(1,2,4,2,4,1);
    print_r($aa);
    print_r(array_unique($aa)); 
    ?>
    </pre>