Autor Zpráva
Daves
Profil *
Zdravím, ten název tématu asi není přesný, nevěděl jsem jak to přesně popsat. Prosím vás potřeboval bych poradit. Vysvětlím

1)Vytvořím si dynamicky několik polí, podle toho kolik je položek nějak takto: (seznam všech názvů vytvořených polí mám uložený)
$count = 0;

foreach ($database->get_data(2) as $val) {

    array_push($items, "item" . $count); //VYTVOŘÍM POLE PROMĚNNÝCH ABYCH VĚDĚL JAKÉ PROMĚNNÉ SE MI VYTVOŘILY
    ${"item$count"} = array(// VYTVOŘÍM POLE PRO KAŽDOU POLOŽKU
        "description" => $val['item'],
        "quantity" => $val['quantity'],
        "weight" => round($weightForCustom, 2),
        "value" => $val['price']
    );
    $count++;
}

2)Dále uskutečním nějaký foreach který postupně v každem kroku vykonová print nějakého pole nějak takto:
for ($i = 0; $i < $count; $i++) {
    print_r(${"item$i"});
}

3) na obrazovce mám následný výstup
Array ( [description] => Auto [quantity] => 2 [weight] => 3.33 [value] => 20 ) Array ( [description] => Makak [quantity] => 1 [weight] => 3.33 [value] => 5000 ) Array ( [description] => Peřina [quantity] => 1 [weight] => 3.33 [value] => 500 )

TOTO je vše tak jak jsem chtěl, teď to nejdůležitější naco potřebuji přijít. Výstup co jsem zobrazil výše bych potřeboval vložit do metody jako kdyby jsem to tam napsal sám , aby to vypadalo v kódu takhle

"items" => array(ZDE VÝPIS Z BODU 3)

takže výsledek by byl :

"items" => array(Array ( [description] => Auto [quantity] => 2 [weight] => 3.33 [value] => 20 ), Array ( [description] => Makak [quantity] => 1 [weight] => 3.33 [value] => 5000 ), Array ( [description] => Peřina [quantity] => 1 [weight] => 3.33 [value] => 500 ))

PŘEDEM VŠEM DĚKUJI ZA POMOC ! :)
Alphard
Profil
1. To je hrozné :-), použijte vícerozměrná pole.
$list = [];
foreach (...) {
  $list[] = [
    "description" => $val['item'],
    "quantity" => $val['quantity'],
  ];
}

2. Výstup print_r získání nastavením druhého parametru na true.
Daves
Profil *
Alphard:
Děkuji :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: