PHP编码问题,根据数量变量从数组中获取多个实例

时间:2009-10-07 10:59:52

标签: php multidimensional-array

我不确定是否有人可以帮助我解决我的问题..

我有一个包含代码的解析函数:

foreach ($values as $element) {

$nodeName = $element["tag"];

switch ($element['type']) {

case 'open':

if ($nodeName == "SHOPPINGLIST") {
$this->publicationID = $element["attributes"]["PUBLICATIONID"]; 
}

if ($nodeName == "ENTRY") {

$entry = new ShoppingCartEntry();
$entry->quantity = $element["attributes"]["QUANTITY"];

}

if ($nodeName == "ITEM") {

$entry->productID = $element["attributes"]["PRODUCTID"];
$entry->price = $element["attributes"]["PRICE"];

array_push($this->entries, $entry);
}   

break;

case 'complete':

if ($nodeName == "NAME") {
$entry->name = $element["value"];
}

if ($nodeName == "DESCRIPTION") {
$entry->description = $element["value"];
}   

break;

}
}

结果我有一个格式为:

的数组
Array ( 
[0] => ShoppingCartEntry Object ( 
[quantity] => 3 
[productID] => 00001 
[price] => 4.99 
[name] => Full English 
[description] => Eggs, Beans, Sheesh Kebab Served with Toast ) 

我正在使用以下方式打印项目条目

foreach ($entries as $entry) { 
}

但是现在我需要为产品的每个数量值创建一个条目。因此,如果条目中的产品数量是3,那么要么需要进行更改以便创建3个条目,或者即使有某些编辑foreach循环,也要进行循环以获得“$ quantity”的数量倍..

任何指向正确方向的人都会受到赞赏。

由于

1 个答案:

答案 0 :(得分:0)

喜欢这个吗?

foreach ($entries as $entry)
{ 
    for ($i = 0; $i < $entry->quantity; $i++)
    {
        echo $entry->name . ': ' . ($i + 1) . ' of ' . $entry->quantity . '<br>';
    }
}