douxuan1284 2011-09-08 12:48
浏览 54
已采纳

array_diff没有按预期工作? 可能是什么原因?

I have two arrays .
Check the code

$array1 = array(0=>'215',1=> '225');
$array2 = array(0=>'225');
$diff_result = array_diff($array1, $array2);
$diff = array_values($diff_result);
print_r($array1);echo "<br>";
print_r($array2);echo "<br>";
print_r($diff_result);echo "<br>";
print_r($diff);

Now I am getting answers as

Array ( [0] => 215 [1] => 225 )
Array ( [0] => 225 )
Array ( [0] => 215 [1] => 225 )
Array ( [0] => 215 [1] => 225 ) 

But according to array_diff manual it should be

Array ( [0] => 215 [1] => 225 ) 
Array ( [0] => 225 ) 
Array ( [0] => 215 ) 
Array ( [0] => 215 )

What could be the problem

  • 写回答

2条回答 默认 最新

  • dounianluo0086 2011-09-08 14:34
    关注

    It was not working for me (dont know why) so I changed the code to calculate difference in two array

    for ($i = 0; $i < count($array2); $i++) { 
        for ($j = 0; $j < count($array1); $j++) {
            if(!in_array($array1[$j],$array2)){ 
                $resArr[] = $array1[$j]; 
            } 
        } 
    }
    print_r($array1);echo "<br>";
    print_r($array2);echo "<br>";
    print_r($resArr);echo "<br>";
    

    Thanks for the time

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 eclipse开启服务后,网页无法打开
  • ¥30 雷达辐射源信号参考模型
  • ¥15 html+css+js如何实现这样子的效果?
  • ¥15 STM32单片机自主设计
  • ¥15 如何在node.js中或者java中给wav格式的音频编码成sil格式呢
  • ¥15 不小心不正规的开发公司导致不给我们y码,
  • ¥15 我的代码无法在vc++中运行呀,错误很多
  • ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
  • ¥60 fail to initialize keyboard hotkeys through kernel.0000000000
  • ¥30 ppOCRLabel导出识别结果失败