【发布时间】:2011-09-08 12:48:12
【问题描述】:
我有两个数组。
检查代码
$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('215', '225'); $array2 = array('225');
-
@trampi:你写的和例子一模一样。即使不是,
array_diff也不关心密钥。 -
@trampi:这完全不正确。键是从 0 开始的连续整数,如果由 PHP 自动填充,它们将是相同的。
-
@WasimKarani:两个 人运行了您的代码并获得了正确的结果(我什至给出了链接)。在这一点上,我认为问题不是键,而是您运行的不是您在此处提供的代码,或者您的系统需要重新启动。
标签: php arrays array-difference