Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php数组_diff未给出结果_Php_Mysql_Array Difference - Fatal编程技术网

php数组_diff未给出结果

php数组_diff未给出结果,php,mysql,array-difference,Php,Mysql,Array Difference,有人能看一下,让我知道我做错了什么。。。 我想说的是,在我的数据库中: AGENT_REF = 1 AGENT_REF = 2 AGENT_REF = 3 AGENT_REF = 4 AGENT_REF = 5 在上传的解析信息的文件中 $blmarArray = array($agentref); AGENT_REF = 1 AGENT_REF = 2 AGENT_REF = 3 AGENT_REF = 5 我想做的是从上传的文件中没有的数据库中提取AGENT_REF,在本例中,AGEN

有人能看一下,让我知道我做错了什么。。。 我想说的是,在我的数据库中:

AGENT_REF = 1
AGENT_REF = 2
AGENT_REF = 3
AGENT_REF = 4
AGENT_REF = 5
在上传的解析信息的文件中

$blmarArray = array($agentref);

AGENT_REF = 1
AGENT_REF = 2
AGENT_REF = 3
AGENT_REF = 5
我想做的是从上传的文件中没有的数据库中提取AGENT_REF,在本例中,AGENT_REF=4,这样我就可以从mysql中删除它

$sql_archeck = mysql_query("SELECT `AGENT_REF` FROM `eprentals`");
$archeck = mysql_fetch_array($sql_archeck);
$sqlarArray = array($archeck);
$combyArrayDiff = array_diff($blmarArray, $sqlarArray);
print_r ($combyArrayDiff);
我得到的只是数据库中最后一个或第一个代理引用,而不是数据库中不存在的代理引用。 在数据库中有11个,但上传的文件只有8个,所以我想删除并显示数据库中已从上传的文件中删除的文件

希望你能给我一些指导,让我知道我的错误所在,我感谢你的时间,感谢你的帮助

来自php手册:

返回一个数组,该数组包含array1中所有不包含的项 存在于任何其他数组中

因此,您应该使用array\u diff$sqlarray,$blmarray来代替array\u diff$sqlarray,$blmarray

=大数组作为第一个参数,samller数组作为第二个参数

您还需要从数据库中获取所有行,而不仅仅是第一行


您好,感谢您的快速响应,这显示了数据库中的第一行,该行显示在上传的文件中。。例如,它显示AGENT_REF=1而不是AGENT_REF=4:只是为了显示我的结果…:数组[0]=>数组[0]=>53384_3[AGENT_REF]=>53384_3,它应该是53384_7这就是区别:53384_3是数据库中的第一行您只获取一行,您不使用获取循环Puggen Se,非常感谢您的时间,还没有,但我现在在想,因为我可以看到结果,我没有得到所有的blm结果,因为差异列表与sql列表相同,但blm文件列表是第一个53384_3:我非常感谢您与我在一起的时间谢谢:您确定您正确加载了$BLMARRAY,打印出来的结果是否与预期的一样?
$query = "SELECT `AGENT_REF` FROM `eprentals`";
$resource = mysql_query($query);
$sqlarArray = array();
while($row = mysql_fetch_array($sql_archeck))
{
    $sqlarArray[] = $row['AGENT_REF'];
}
$combyArrayDiff = array_diff($sqlarArray, $blmarArray);

/* debug result */
echo "<p><b>SQL list:</b> " . implode(', ', $sqlarArray) . "</p>";
echo "<p><b>Uploaded list:</b> " . implode(', ', $blmarArray) . "</p>";
echo "<p><b>Diff list:</b> " . implode(', ', $combyArrayDiff ) . "</p>";