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
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
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
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:
<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]