数组arr,数组arr2,想找arr里的哪个值不在arr2里。$arr=array("123","567","895");
$arr2=array("100","667","895");
$arr3=array();
for($i=0;$i<count($arr);$i++)
{
if(!in_array($arr[$i],$arr2))
{

$arr3[]=$arr[$i];
}
}
我这样就是不对,按思路应该是对的吧

解决方案 »

  1.   

    代码没问题啊。
    //结果Array ( [0] => 123 [1] => 567 )
      

  2.   

    你的思路和代码都没有错!
    其实 php 提供了等方便的函数 array_diff
    print_r(array_diff($arr, $arr2));
      

  3.   

    PHP提供了一个求数组差集的函数:
    $arr=array("123","567","895");
    $arr2=array("100","667","895");
    $arr3 = array_diff($arr, $arr2);
      

  4.   

    $arr=file("20110714.txt");$arr2=file("20110713.txt");再说下,数组值就是从文本文件里读出来的,都是单独一行存放
      

  5.   

    谢谢大家,我知道了,是有空格(看不到的)
    我给trim了。谢谢各位热心朋友
      

  6.   

    单独一行 你就处理成数组嘛...
    $array=array();
    $array=explode($delimiter, $string);
    或者分割字符
    str_split($string);看看什么合适
      

  7.   

    $arr=array("123","567","895");
    $arr2=array("100","667","895");
    $arr3=array();
    for($i=0;$i<count($arr);$i++)
    {
    if(!in_array($arr[$i],$arr2))
    {array_push($arr3,$arr[$i]);
    }
    }这样可以了
      

  8.   

    trim是经常得用的...我曾经为这个给迷糊了好久..
      

  9.   

    array_diff($arr,$arr2) 不是挺好的吗