tester: Problem-Fortzsetzung

Beitrag lesen

tag!
hab hier nun Dank Eurer hilfe ein nicht all zu einfaches script.
die funktion kategorie2array($kategorie,$nr) hat die aufgabe einen string $kategorie wie z.b. 'foo|bar|bla|...' umzuwandeln in einen array wie $arr_kategorie['foo']['bar']['bla']...['']=$nr;
diesem array soll vor der rückgabe noch ein blindes feld [''] angehängt werden mit der $nr als wert.
(dieser vorgang ist nicht erlässlich, da ich die [''] einträge als optionsparameter verwende...)
und so siehts in php aus:

<?
function kategorie2array($kategorie,$nr)
{
    $kategorie=explode("|",$kategorie,10);
    $kategorie_rest='';
    if(is_array($kategorie)AND(count($kategorie)>1))
    {
        foreach($kategorie AS $i => $kategorie_)
        {
            if($i>0)
                $kategorie_rest.=$kategorie_.'|';
        }
    }
    if(isset($kategorie[1]) && $kategorie[1]!='')
    {
        $neu=kategorie2array($kategorie_rest,$nr+1);
            $arr_kategorie[$kategorie[0]]=$neu;
    }
    else
    {
        $arr_kategorie[$kategorie[0]]['']=$nr;
    }
    return ($arr_kategorie);
}
?>

soweit funktioniert es auch.

doch nun soll dieser vorgang häufiger durchgeführt werden und das ergebniss aller funktionsabläufe in einem gesamten array abgelegt werden:

<?
$arr_kategorie_neu[]=kategorie2array("a|aa|aaa|",20);
$arr_kategorie_neu[]=kategorie2array("a|aa|",20);
$arr_kategorie_neu[]=kategorie2array("a|",20);
$arr_kategorie_neu[]=kategorie2array("b|",20);
$arr_kategorie_neu[]=kategorie2array("c|",20);
$arr_kategorie_neu[]=kategorie2array("c|cc|",20);
$arr_kategorie_neu[]=kategorie2array("c|cc|ccc|",20);
foreach($arr_kategorie_neu AS $arr_kategorie)
{
    $arr_alles=array_merge($arr_kategorie,$arr_alles);
}
print_r($arr_alles);
?>

doch das ergebnis ist nicht wie erwartet.
testet am besten selbst, wenn Ihr mir nicht glaubt, dass es scheitert.
so sieht die rüeckgabe aus:
Zitat:

Array
(
[c] => Array
(
[] => 20
)

[b] => Array
(
[] => 20
)

[a] => Array
(
[aa] => Array
(
[aaa] => Array
(
[] => 22
)

)

)

)

VIELEN DANK für erkannten fehler und
NOCH MEHR DANK für einen lösungsvorschlag.

PS: einiges in dem script mag einigen überflüssig erscheinen, ist jedoch erforderlich, da der spass noch lange nicht vollendet ist, sondern noch erweitert wird...