这是我的代码:
$stack = array();
foreach ($quote->getAllItems() as $item) {
$PID = $item->getProduct()->getId();
$stack["productid"][] = $PID;
$QTY = $item->getQty();
$stack["productqty"][] = $QTY;
}
foreach($stack as $value){
$ProductId = $value["productid"];
$ProductQty = $value["productqty"];
echo "ProductId is: $ProductId - Product QTY is: $ProductQty <br>";
}
我收到两行,因为确切的结果数量是$ProductId
,而$ProductQty
似乎是空白的。
我的错误在哪里,我无法按键显示结果?
提前致谢!
答案 0 :(得分:2)
if(!empty($stack) && count($stack)>0)
{
foreach($stack['productid'] as $key=>$value){
$ProductId = $value;
$ProductQty = $stack["productqty"][$key];
echo "ProductId is: $ProductId - Product QTY is: $ProductQty <br>";
}
}
使用此代码..
答案 1 :(得分:0)
您只需尝试以下代码
foreach($stack as $value){
$ProductId = $value[0];
$ProductQty = $value[1];
echo "ProductId is: $ProductId - Product QTY is: $ProductQty <br>";
}
原因是,在第一次迭代中,$value
将包含$stack["productid"]
的值。因此$value["productid"]
将无效。您必须提供索引0
。对于$ProductQty
,您必须提供索引1
答案 2 :(得分:0)
试试这段代码。它会有所帮助......
foreach ($quote->getAllItems() as $item) {
$stack[] = array('productid'=>$item->getProduct()->getId(),'productqty'=>$item->getQty());
}
foreach($stack as $value){
$ProductId = $value["productid"];
$ProductQty = $value["productqty"];
echo "ProductId is: $ProductId - Product QTY is: $ProductQty <br>";
}