Проблема кодирования PHP, чтобы получить несколько экземпляров из массива на основе переменной количества в - PullRequest
0 голосов
/ 07 октября 2009

Я не уверен, что кто-нибудь может мне помочь с проблемой, которая у меня есть ..

У меня есть функция разбора, которая включает код:

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, чтобы он зацикливался на сумму «количества» раз ..

Любые указатели в правильном направлении приветствуются.

Спасибо

1 Ответ

0 голосов
/ 07 октября 2009

Как это?

foreach ($entries as $entry)
{ 
    for ($i = 0; $i < $entry->quantity; $i++)
    {
        echo $entry->name . ': ' . ($i + 1) . ' of ' . $entry->quantity . '<br>';
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...