我来自VB;使用权; SQL Server 背景最近介绍给 WAMP。我有一个问题,几个星期以来我都无法解决,我想我已经访问了网络上的每个论坛(包括这里),但都没有成功。
我有两个从 MySQL 记录集中填充的数组,一个用于站点购物车,另一个用于站点部门(目录),请参阅下面对填充数组的手动解释。
$catalog[] = array(
array('ProdID'=>2,'Name'=>'Alpha','DepID' =>2,'InBasket'=>'0'),
array('ProdID'=>6,'Name'=>'Alpha','DepID' =>2,'InBasket'=>'0'),
array('ProdID'=>7,'Name'=>'Alpha','DepID' =>2,'InBasket'=>'0'),
array('ProdID'=>8,'Name'=>'Alpha','DepID' =>2,'InBasket'=>'0'),
array('ProdID'=>9,'Name'=>'Alpha','DepID' =>2,'InBasket'=>'0'),
);
$cart[] = array(
array('Name'=>'Alpha2','Loc'=>'e_vol1','BasketID'=>'81','ProdID'=>'2','Quant'=>'1'),
array('Name'=>'Beta4','Loc'=>'e_vol2','BasketID'=>'81','ProdID'=>'4','Quant'=>'1'),
array('Name'=>'Alpha8','Loc'=>'e_vol3','BasketID'=>'81','ProdID'=>'8','Quant'=>'1'),
array('Name'=>'Gamma21','Loc'=>'e_vol4','BasketID'=>'81','ProdID'=>'21','Quant'=>'1'),
);
我需要做的是每次选择新目录时遍历目录数组,将购物车中每一行的 ProdID 与目录每一行的 ProdID 进行比较,当找到匹配项时,我想更新目录该行的“InBasket”值仅为“1”,表示该商品已经在客户购物车中,然后我可以在屏幕上显示(客户只能购买任何商品之一)。
有五个不同的部门(目录)将包含多达 10 种产品,购物车将包含四件物品(如果我幸运的话)
我尝试了一些循环,但它们似乎不起作用。
for ($x = 0; $x < count($catalog); $x++)
{
for ($y = 0; $y < count($cart); $y++)
{
If ($catalog[$x]['ProductID'] == $cart[$y]['ProductID'] )
{
$cart[$x]['InBasket'] = 1;
}
}
}
我相信我的数组是正确的,但是无论如何,循环似乎都会更新“InBasket”。
任何想法,将不胜感激。