我不确定是否有人可以帮助我解决我的问题..
我有一个包含代码的解析函数:
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”的数量倍..
任何指向正确方向的人都会受到赞赏。
由于
答案 0 :(得分:0)
喜欢这个吗?
foreach ($entries as $entry)
{
for ($i = 0; $i < $entry->quantity; $i++)
{
echo $entry->name . ': ' . ($i + 1) . ' of ' . $entry->quantity . '<br>';
}
}