PHP список объектов с циклом foreach

0

Привет Я разработчик С# и в настоящее время немного работаю в PHP. Я знаю, что это очень простая задача, но у меня действительно нет идеи для этого. Мне нужно создать список с элементами, которые будут динамически создаваться с помощью цикла foreach. Это элементы статического списка, которые я хочу динамически создавать с помощью цикла foreach.

        $item_1 = new Item();
        $item_1->setName('Item 1')
            ->setCurrency('USD')
            ->setQuantity(2)
            ->setPrice('15');

        $item_2 = new Item();
        $item_2->setName('Item 2')
            ->setCurrency('USD')
            ->setQuantity(4)
            ->setPrice('7');

        $item_3 = new Item();
        $item_3->setName('Item 3')
            ->setCurrency('USD')
            ->setQuantity(1)
            ->setPrice('20');

        // add item to list
        $item_list = new ItemList();
        $item_list->setItems(array($item_1, $item_2, $item_3));
  • 0
    Вы знаете, как написать цикл? Вы знаете, как работать с массивами? Что именно вы застряли с этим? Откуда берутся динамические данные?
Теги:
list
foreach

3 ответа

0
Лучший ответ
$items = array();

for ($i = 1; $i <= SOME_NUMBER; $i++)
{
    $item = new Item();
    $item->setName('Item ' . $i);
    // ...
    $items[] = $item;
}

// ...

$itemList->setItems($items);
  • 0
    Да, это сработало для меня Спасибо :)
  • 0
    нет проблем, пожалуйста
1

Используйте массив для этого:

$totalItems = 3;
$itemsList = new ItemsList();
$items = array();

for ($i = 1; $i <= $totalItems; $i++) {
    $items[$i] = new Item();
    $items[$i]->setName("Item{$i}"); // Or "Item".$i; " - means PHP will search for variable inside (either with "{}" or without). ' - means PHP will ignore variables
    $items[$i]->setCurrency('USD');
    /* If all methods returns Item object, than you can chine methods calls: */
    $item[$i] = new Item();
    $item[$i]
        ->setName("Item{$i}")
        ->setCurrency('USD')
        ->setQuantity($this->getQuantity());
}

$itemsList->setItems($items);
1
$item_list = array();
foreach($data as $value){
    $item =new stdClass;
    $item->name = $value->name;
    $item->price = $value->price;
    $item->quantity = $value->quantity;
    $item->currancy = $value->currancy;
    $item_list[] = $item;
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню