php数组去重复 巧妙利用foreach 循环

function a_array_unique($arr){
    $out=array();
    foreach($arr as $k=>$v){
        //echo $v.'<br/>';//alinux blinux c mysql dapache e php f php
      if(!in_array($v,$out)){
          echo $v;//linuxmysqlapachephp
     $out[$k]=$v;
    }
    }
return $out;
}
$arr1=array('a'=>'linux','b'=>'linux','c'=>'mysql','d'=>'apache','e'=>'php','f'=>'php');
print_r(a_array_unique($arr1));//Array ( [a] => linux [c] => mysql [d] => apache [e] => php )

当 $out[$k]=$v;时 linux 值已经满足in_array 这个条件 所以'b'=>'linux' 没有机会被放在$out 数组里

$array = array(
    'egg' => true,
    'cheese' => false,
    'hair' => 765,
    'goblins' => null,
    'ogres' => 'no ogres allowed in this array'
);

in_array(null, $array); // true
in_array(false, $array); // true
in_array(765, $array); // true
in_array(763, $array); // true
in_array('egg', $array); // true
in_array('hhh', $array); // true
print_r(in_array(array(), $array)); // true

// Strict checking

in_array(null, $array, true); // true
in_array(false, $array, true); // true
in_array(765, $array, true); // true
in_array(763, $array, true); // false
in_array('egg', $array, true); // false
in_array('hhh', $array, true); // false
in_array(array(), $array, true); // false


你可能感兴趣的:(php数组去重复 巧妙利用foreach 循环)