[ Predrag Supurovic @ 29.10.2014. 21:23 ] @
Imam jedan problem koji nikako da ubodem kako da resim. Imam niz objekata koji imaju propertije; id, naziv, kategorija, grupa, mesto Treba da napravim funkciju koja za parametar dobija ovaj niz i listu polja po kojima treba da se grupisu slogovi tako da vrati hijerarhijsku strukturu grupisanih slogova prema zadatoj listi polja. Ulazni niz nema unapred odredjenu strukturu (moze imati razlicita polja) a lista polja za grupisanje odgovara strukturi niza (ne moze se desiti da u listi bude ime polja koje ne postoji). Primer: ulazni niz Code: 0001 Objekat01 A 01 001 0002 Objekat02 A 01 001 0003 Objekat03 A 01 001 0004 Objekat04 A 01 002 0005 Objekat05 A 01 002 0006 Objekat06 A 01 002 0007 Objekat07 A 01 003 0008 Objekat08 A 01 003 0009 Objekat09 A 01 003 0010 Objekat10 A 02 001 0011 Objekat11 A 02 001 0012 Objekat12 A 02 001 0013 Objekat13 B 01 001 0014 Objekat14 B 01 001 0015 Objekat15 B 01 001 0016 Objekat16 B 02 002 0017 Objekat17 B 02 002 0018 Objekat18 B 02 002 0019 Objekat19 B 02 003 0020 Objekat20 B 02 003 0021 Objekat21 B 02 003 Ako je lista polja za grupisanje "kategorija, grupa, mesto" treba da se dobije Code: A 01 001 0001 Objekat1 0002 Objekat2 0003 Objekat3 002 0004 Objekat4 0005 Objekat5 0006 Objekat6 003 0007 Objekat7 0008 Objekat8 0009 Objekat9 02 001 0010 Objekat10 0011 Objekat11 0012 Objekat12 B 01 001 0013 Objekat13 0014 Objekat14 0015 Objekat15 02 002 0016 Objekat16 0017 Objekat17 0018 Objekat18 003 0019 Objekat19 0020 Objekat20 0021 Objekat21 Ako je lista polja za grupisanje "kategorija, grupa" treba da se dobije Code: A 01 0001 Objekat01 A 01 001 0002 Objekat02 A 01 001 0003 Objekat03 A 01 001 0004 Objekat04 A 01 002 0005 Objekat05 A 01 002 0006 Objekat06 A 01 002 0007 Objekat07 A 01 003 0008 Objekat08 A 01 003 0009 Objekat09 A 01 003 02 0010 Objekat10 A 02 001 0011 Objekat11 A 02 001 0012 Objekat12 A 02 001 B 01 0013 Objekat13 B 01 001 0014 Objekat14 B 01 001 0015 Objekat15 B 01 001 02 0016 Objekat16 B 02 002 0017 Objekat17 B 02 002 0018 Objekat18 B 02 002 0019 Objekat19 B 02 003 0020 Objekat20 B 02 003 0021 Objekat21 B 02 003 Evo PHP koji kreira ulazni niz: Code: <pre> <?php $kategorija = 'A'; $grupa = '01'; $mesto = '001'; $id = '0001'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; $id = '0002'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; $id = '0003'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; $mesto = '002'; $id = '0004'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; $id = '0005'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; $id = '0006'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; $mesto = '003'; $id = '0007'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; $id = '0008'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; $id = '0009'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; $grupa = '02'; $mesto = '001'; $id = '0010'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; $id = '0011'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; $id = '0012'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; $kategorija = 'B'; $grupa = '01'; $mesto = '001'; $id = '0013'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; $id = '0014'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; $id = '0015'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; $mesto = '002'; $id = '0016'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; $id = '0017'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; $id = '0018'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; $grupa = '02'; $mesto = '003'; $id = '0019'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; $id = '0020'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; $id = '0021'; $niz[$id]['id'] = $id; $niz[$id]['naziv'] = 'Objekat' . $id; $niz[$id]['kategorija'] = $kategorija; $niz[$id]['grupa'] = $grupa; $niz[$id]['mesto'] = $mesto; print_r ($niz); ?> </pre> Da li je neko resavao slican problem? [Ovu poruku je menjao Predrag Supurovic dana 29.10.2014. u 22:40 GMT+1] |