Autor | Zpráva | ||
---|---|---|---|
xciza Profil |
#1 · Zasláno: 23. 7. 2014, 07:13:21
Ahoj,
trochu jsem se zasekl na vytváření pole a chtěl bych požádat o radu jak na to. Mám z databáze vytažená data, která potřebuji dostat do pole. Vytažená data jsou také ve tvaru pole. Jedná se o produkty a kategorie. V jednom poli jsou všechny produkty a v druhém poli všechny kategorie. A potřeboval bych z toho udělat jedno pole. Pole produktů má tvar: array([product_id, category_id, product_name], ...) a pole kategorií: array([category_id, category_name], ...). A výsledné pole bych potřeboval o tvaru, kde budou další pole a v každém bude název kategorie a její produkty. Doufám že je srozumitelné. Předem děkuji za rady |
||
Alphard Profil |
#2 · Zasláno: 23. 7. 2014, 07:39:48
Tohle se obvykle řeší konstrukcí
$out = []; foreach ($products as $product) { $out[$product['category_id']][] = $product; } |
||
xciza Profil |
#3 · Zasláno: 23. 7. 2014, 07:42:08
ale já neznám category_id jelikož si kategorie vytváří uživatel v administraci. Myslel jsem třeba použít nejak dva vnořené foreach?
|
||
Alphard Profil |
#4 · Zasláno: 23. 7. 2014, 18:15:33
Jestli nelze věřit struktuře popsané v [#1] (podle které
category_id znáte), těžko bude někdo vymýšlet vnořené cykly.
Případně by šlo katagorie ještě joinou na úrovni databáze, ale i tak bude potřeba výsledné pole doladit v aplikaci. |
||
Časová prodleva: 10 let
|
0