和array_diff未正常工作? 可能是什么原因?

有两个数组。
检查代码

$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);

现在,我得到的答案

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

但据和array_diff说明书应当

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

可能是什么问题

--------------解决方案-------------

我跑你的代码是,我得到正确的结果。

$array1 = array(0=>'215',1=> '225');
$array2 = array(0=>'225');
$result = array_diff($array1, $array2);
$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);

输出:

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

我的PHP -v

PHP 5.3.5-1ubuntu7.2 with Suhosin-Patch (cli) (built: May 2 2011 23:18:30)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

你运行的是什么版本的PHP,

这不是为我工作(不知道为什么),所以我改变了代码两种阵列来计算差异

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>";

感谢您的时间

分类:php 时间:2015-03-15 人气:0
本文关键词: PHP,数组,数组的区别
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.476 (s). 10 q(s)