Hallo ![Wink](https://www.php-resource.de/forum/core/images/smilies/wink.gif)
ich stehe gerade vor einem großen problem. ich möchte ein array, was ich aus meiner datenbankabfrage erhalten habe, komplett umstrukturieren bzw umsortieren.
das eingangs-array ist folgendermaßen aufgebaut:
als ausgang sollte ein array mit folgendem schema entstehen:
das ist mit folgendem code entstanden
ansich macht das script schon alles richtig, aber nach dem letzten eintrag, wo 'parent_catid' = 1 ist, sollte danach wieder ein stück array kommen mit 'parent_catid' = 0 und darauf die elemente, die , die 'parent_catid' = id des vorangenagenen elements mit 'parent_catid' = 0 haben usw... und das schaff ich irgendwie nicht..
es soll also eine strukturierung n-ten grades entstehen...
hab schon 12h an dem problem gesessen, aber bin zu keiner lösung gekommen. könnt ihr mir helfen? gibts probleme beim verstehen meines problems?
mfg
obstler
![Wink](https://www.php-resource.de/forum/core/images/smilies/wink.gif)
ich stehe gerade vor einem großen problem. ich möchte ein array, was ich aus meiner datenbankabfrage erhalten habe, komplett umstrukturieren bzw umsortieren.
das eingangs-array ist folgendermaßen aufgebaut:
Code:
[0]=> array(3) { ["id"]=> string(1) "1" ["name"]=> string(8) "testcat1" ["parent_catid"]=> string(1) "0" } [1]=> array(3) { ["id"]=> string(1) "2" ["name"]=> string(8) "testcat2" ["parent_catid"]=> string(1) "1" } [2]=> array(3) { ["id"]=> string(1) "3" ["name"]=> string(8) "testcat3" ["parent_catid"]=> string(1) "0" } [3]=> array(3) { ["id"]=> string(1) "4" ["name"]=> string(8) "textcat4" ["parent_catid"]=> string(1) "2" } [4]=> array(3) { ["id"]=> string(1) "5" ["name"]=> string(8) "testcat5" ["parent_catid"]=> string(1) "1" } [5]=> array(3) { ["id"]=> string(1) "6" ["name"]=> string(8) "testcat6" ["parent_catid"]=> string(1) "3" } [6]=> array(3) { ["id"]=> string(1) "7" ["name"]=> string(8) "testcat7" ["parent_catid"]=> string(1) "1" } [7]=> array(3) { ["id"]=> string(1) "8" ["name"]=> string(8) "testcat8" ["parent_catid"]=> string(1) "1" } }
Code:
[0]=> array(3) { ["id"]=> string(1) "1" ["name"]=> string(8) "testcat1" ["parent_catid"]=> string(1) "0" } [1]=> array(3) { ["id"]=> string(1) "2" ["name"]=> string(8) "testcat2" ["parent_catid"]=> string(1) "1" } [2]=> array(3) { ["id"]=> string(1) "4" ["name"]=> string(8) "textcat4" ["parent_catid"]=> string(1) "2" } [3]=> array(3) { ["id"]=> string(1) "5" ["name"]=> string(8) "testcat5" ["parent_catid"]=> string(1) "1" } [4]=> array(3) { ["id"]=> string(1) "7" ["name"]=> string(8) "testcat7" ["parent_catid"]=> string(1) "1" } [5]=> array(3) { ["id"]=> string(1) "8" ["name"]=> string(8) "testcat8" ["parent_catid"]=> string(1) "1" } ... usw
das ist mit folgendem code entstanden
PHP-Code:
...
foreach ($cats as $cat) {
if ($newcats) {
foreach ($newcats as $newcat) {
if($cat['parent_catid']==$newcat['id']) $newcats[]=$cat;
}
}
elseif($cat['parent_catid']==0) $newcats[]=$cat;
}
...
es soll also eine strukturierung n-ten grades entstehen...
hab schon 12h an dem problem gesessen, aber bin zu keiner lösung gekommen. könnt ihr mir helfen? gibts probleme beim verstehen meines problems?
mfg
obstler
Kommentar