本帖最后由 sunxch100 于 2011-02-17 21:46:46 编辑

解决方案 »

  1.   

    $a = array('aaa','bbb','ddd','aaa');
    $b = array('aaa','ddd','aaa','bbb');$c = array_diff($a, $b);print_r($c);//输出array()-----------------------------------------
    $a = array('aaa1','bbb','ddd','aaa');
    $b = array('aaa','ddd','aaa','bbb');$c = array_diff($a, $b);print_r($c);//输出array('aaa1')
      

  2.   


    <?php
    $a=array(1,2,5,6,7,8);
    $b=array(69,36,23,65,66,67,45);
    $c=array(3,4,7,8,10,13,14);function newarray($arr){
    $temp1=array();
    $temp2=array();
    $temp3=array(); for($i=1;$i<count($arr);$i++){
      if($arr[$i] == $arr[$i-1] + 1) {
    $temp1[$i-1] = $arr[$i-1];
    $temp1[$i] = $arr[$i];
    }else {
    $temp2=$temp1;
    $temp1=array();
    }
    $temp3= (count($temp2) > count($temp1)) ? $temp2 : $temp1 ;
     };
     return $temp3;
    }var_dump(newarray($a));
    echo "<br/>";
    var_dump(newarray($b));
    echo "<br/>";
    var_dump(newarray($c));
    //不能正确返回$c,因为$c可能有3,4/7,8/13,14三种
    ?>
      

  3.   

    array_diff可行,如果返回的是空数组即说明,2个数组相同!
      

  4.   

    $arr1 == $arr2   值/键相等
    $arr1 === $arr2  值/键相等,且对应顺序相同 
      

  5.   


    你有认真看这个函数的说明吗?array_diff($array1, $array2);返回$array1中出现而不再$array2中出现的值,$array1和$array2 相同当然返回空,如果$array1值集属于$array2,也是会返回空的,看问题不能只看特列。
      

  6.   

    使用array_intersect($a,$b)==$a就可以解决了!