使用array_diff()比较两个数组的不同为何只返回了一个不同的元素?
我取出数据库中不同表中相同字段的值分别两个不同的数组中,使用array_diff(),找出在数组1而不在数组2的的元素,为何只返回一个不同的元素?
代码如下:
='.date('y-m-d').' '.$starttime.' and time $result=mysql_query($sql) or die(mysql_error());
while($date=mysql_fetch_array($result))
{
// $num_rows1=mysql_num_rows($result);
$a=array();
$a[]=$date[serial_number];
for($i=0;$i {
echo $a[$i];
echo ;
}
echo ;
}
$diff=array_diff($prime,$a);
for($i=0;$i echo $diff[$i];
echo ;
echo count($diff);
echo ;
?>
执行结果:
数组$prime
862118028862461
862118028862462
862118028862463
862118028862464
数组$a
862118028862461
结果
862118028862464
1
按照我的本意返回的应该是
862118028862462
862118028862463
862118028862464
现在只返回了862118028862464,为什么?
------解决思路----------------------
你在 $diff=array_diff($prime,$a); 前打印一下数组
print_r($prime);
print_r($a);
$diff=array_diff($prime,$a);
看看都是什么