PHP-无法在foreach循环中按键显示结果
这是我的密码:PHP-无法在foreach循环中按键显示结果,php,arrays,Php,Arrays,这是我的密码: $stack = array(); foreach ($quote->getAllItems() as $item) { $PID = $item->getProduct()->getId(); $stack["productid"][] = $PID; $QTY = $item->getQty(); $stack["productqty"][] = $QTY; } foreach($st
$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>";
}
$stack=array();
foreach($quote->getAllItems()作为$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为:$ProductId-产品数量为:$ProductQty
”;
}
我收到两行,因为结果的确切数量是,但是$ProductId
和$ProductQty
似乎是空的
我的错误在哪里?为什么我不能按键显示结果
提前谢谢 您只需尝试以下代码
foreach($stack as $value){
$ProductId = $value[0];
$ProductQty = $value[1];
echo "ProductId is: $ProductId - Product QTY is: $ProductQty <br>";
}
foreach($stack as$value){
$ProductId=$value[0];
$ProductQty=$value[1];
echo“ProductId为:$ProductId-产品数量为:$ProductQty
”;
}
原因是,在第一次迭代中,
$value
将包含$stack[“productid”]
的值。因此,$value[“productid”]
将不起作用。您必须给出索引0
。对于$ProductQty
您必须给出索引1
,您只需使用下面的代码即可
foreach($stack as $value){
$ProductId = $value[0];
$ProductQty = $value[1];
echo "ProductId is: $ProductId - Product QTY is: $ProductQty <br>";
}
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>";
}
}
foreach($stack as$value){
$ProductId=$value[0];
$ProductQty=$value[1];
echo“ProductId为:$ProductId-产品数量为:$ProductQty
”;
}
原因是,在第一次迭代中,$value
将包含$stack[“productid”]
的值。因此,$value[“productid”]
将不起作用。您必须给出索引0
。对于$ProductQty
,如果(!empty($stack)&&count($stack)>0,则必须给出索引1
)
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>";
}
}
{
foreach($stack['productid']作为$key=>$value){
$ProductId=$value;
$ProductQty=$stack[“ProductQty”][$key];
echo“ProductId为:$ProductId-产品数量为:$ProductQty
”;
}
}
如果(!empty($stack)&&count($stack)>0,则使用此代码。
{
foreach($stack['productid']作为$key=>$value){
$ProductId=$value;
$ProductQty=$stack[“ProductQty”][$key];
echo“ProductId为:$ProductId-产品数量为:$ProductQty
”;
}
}
使用此代码。尝试此代码。这将有助于
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>";
}
foreach($quote->getAllItems()作为$item){
$stack[]=array('productid'=>$item->getProduct()->getId(),'productqty'=>$item->getQty());
}
foreach($stack as$value){
$ProductId=$value[“ProductId”];
$ProductQty=$value[“ProductQty”];
echo“ProductId为:$ProductId-产品数量为:$ProductQty
”;
}
试试这段代码。这将有助于
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>";
}
foreach($quote->getAllItems()作为$item){
$stack[]=array('productid'=>$item->getProduct()->getId(),'productqty'=>$item->getQty());
}
foreach($stack as$value){
$ProductId=$value[“ProductId”];
$ProductQty=$value[“ProductQty”];
echo“ProductId为:$ProductId-产品数量为:$ProductQty
”;
}
什么是$stack
的数组结构我已经更新了我的问题。使用此代码:foreach($stack as$key=>$value){}你能做一个完整的答案,这样我就可以测试和标记它吗?请发布你的完整代码并询问$stack
的数组结构是什么我已经更新了我的问题。使用此代码:foreach($stack as$key=>$value){}请你做一个完整的回答,这样我可以测试和标记它吗?请发布你的完整代码,queryNot working。结果是:ProductId:30029-产品数量:30030 ProductId:1-产品数量:3
这是不正确的。第一项的数量是1,第二项的数量是3。@TonyStark,print\r($stack)的结果是什么
?不工作。结果是:产品ID为:30029-产品数量为:30030产品ID为:1-产品数量为:3
,这是不正确的。第一项的数量为1,第二项的数量为3。@TonyStark,打印($stack)
??