带有sql查询和$REQUEST的php数组_diff

带有sql查询和$REQUEST的php数组_diff,php,sql,arrays,Php,Sql,Arrays,我想对mysql查询的结果和$REQUEST的结果使用array_diff,以下是我尝试的: while($resultarray3 = mysql_fetch_array($result3)) { $Bestand = $resultarray3['Bestand'] } $Ergebnis = array_diff($_REQUEST['Menge'], $Bestand); 我使用它得到了这个错误:警告:array_diff():Argument#2不是第143行/var/www/ht

我想对mysql查询的结果和
$REQUEST的结果使用
array_diff
,以下是我尝试的:

while($resultarray3 = mysql_fetch_array($result3)) 
{
$Bestand = $resultarray3['Bestand']
}
$Ergebnis = array_diff($_REQUEST['Menge'], $Bestand);
我使用它得到了这个错误:
警告:array_diff():Argument#2不是第143行/var/www/html/lager_management/warenkorb.php中的数组

数组$Bestand的示例:

Array ( [0] => 20 [1] => 250 [2] => 90 ) 
数组$Menge的示例:

Array ([0] => 10 [1] => 45 [3] => 80 )

使用数组,而不是简单的var

$Bestand[] = $resultarray3['Bestand'];

在循环中,每次都要更换变量。 试试这个

$Bestand=array();
而($resultaray3=mysql\u fetch\u数组($result3))
{
$Bestand[]=$resultarray3['Bestand']
}
$Ergebnis=array_diff($_REQUEST['Menge',$Bestand)

需要更改/修改

$Bestand=array()


1) 首先,为什么不在SQL查询中执行此操作,2)是的,因为
$Bestand
不是数组,它只是数据库中的最后一个值。您好,请参阅PHP手册了解数组的正确语法。第二个参数($Bestand)也必须是数组。因此,将其更改为$Bestand=array(resultarray3['Bestand'])@AyyappanSekar我知道这一点,也使用了数组working@Pgr456:您好,您似乎正在从$\u请求数组中获取一个值。它还必须是一个数组。。检查…我也试过了,得到了与var_dump($Bestand)相同的结果;$Ergebnis=array_diff($_REQUEST['Menge',$Bestand]之前);变量转储是:
array(3){[0]=>string(2)“20”[1]=>string(3)“250”[2]=>string(2)“90”}
$Ergebnis=array_diff($\u请求['Menge',array());返回相同的结果(警告:array_diff():参数#2不是中的数组)?当我
print_r
数组
Ergebniss
时,我从
$\u请求['Menge']
中获取值,而不是
array_diff
array_diff中的值给出两个数组之间的差异。请编辑您的帖子并添加可能的数组,或者您可以参考帮助。我看到了您的代码,array_diff返回一个数组,其中包含array1中所有其他数组中不存在的条目。你的两个数组是不同的,它将返回$_REQUEST['Menge'],因此这是数组的预期行为。如果你想测试它,你可以滑动参数($code>$Ergebnis=array_diff($Bestand,$_REQUEST['Menge'])此时您将获得$BEST,如果您
打印($Ergebnis)
$Bestand[] = $resultarray3['Bestand']