使用array_diff()比較兩個數組的不同為啥只返回了一個不同的元素

來源:互聯網
上載者:User
使用array_diff()比較兩個數組的不同為何只返回了一個不同的元素?
我取出資料庫中不同表中相同欄位的值分別兩個不同的數組中,使用array_diff(),找出在數組1而不在數組2的的元素,為何只返回一個不同的元素?
代碼如下:
error_reporting( E_ALL&~E_NOTICE );
header('Content-type:text/html; charset=utf-8');
date_default_timezone_set('Asia/Shanghai');
require_once("init.php");
$sql="select * from dev_property";
$res=mysql_query($sql) or die(mysql_error());
$num_rows=mysql_num_rows($res);
while($sn=mysql_fetch_array($res))
{
$prime=array();
$prime[]=$sn["serial_number"];
for($i=0;$i{
echo $prime[$i];
echo "
";
}

}
echo "
";
$starttime = '08:25:00';
$endtime = '23:35:00';
$sql="select * from data where time>='".date('Y-m-d').' '.$starttime."' and time<='".date('Y-m-d').' '.$endtime."'" ;
$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;$iecho $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);
看看都是什麼
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.