• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

使用array_diff()比较两个数组的不同为何只返回了一个不同的元素?

php 搞代码 3年前 (2022-01-23) 24次浏览 已收录 0个评论
文章目录[隐藏]

我取出数据库中不同表中相同字段的值分别两个不同+本文来源gao@daima#com搞(%代@#码网

搞代gaodaima码

的数组中,使用array_diff(),找出在数组1而不在数组2的的元素,为何只返回一个不同的元素?
代码如下:
<?php
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<count($prime);$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<count($a);$i++)
{
echo $a[$i];
echo “
“;
}

echo “
“;

}
$diff=array_diff($prime,$a);
for($i=0;$i<count($diff);$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);

看看都是什么

你在 $diff=array_diff($prime,$a); 前打印一下数组

print_r($prime);print_r($a);$diff=array_diff($prime,$a);

看看都是什么

谢谢,找到原因了,$prime=array();应放在while循环外,等于我每次while循环都初始化了数组,我的数据根本没全部存入数组中。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用array_diff()比较两个数组的不同为何只返回了一个不同的元素?

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址