Rekursiv funktion
Jeg er ved at lave en base, hvor jeg dynamisk kan lave træmenuer ved, at ID-numrene referer til hinanden.Dvs.
menupunkt-1 har ID:1, og referer til 0 (dvs. ingenting)
menupunkt-2 har ID:2, og referer til 1 (dvs. første nivau og under ID: 1)
menupunkt-3 har ID:3, og referer til 2 (dvs. andet nivau og under ID: 2)
etc.....
Jeg skal bla kunne finde "vejen tilbage", dvs. jeg spørger ind i en rekursiv funktion, der svarer tilbage med vejen tilbage, fx.
ID NU: 1 -> 3 -> 7 -> 8
-------------------
Jeg bare ikke få funktionen til ar returnere værdier - hvad er fejlen?
-------------------
FUNKTION:
function find_pos_back($id, $list, $array_help_all)
{
$p=0;
reset($array_help_all);
while($p<count($array_help_all))
{
if($array_help_all[$p][HELPID] == "$id")
{
$id_ref = "".$array_help_all[$p][HELPREFID]."";
}
$p++;
}
if($id_ref != "0")
{
$return_status = "FALSE";
$list_here = "$list,$id_ref";
find_pos_back($id_ref,$list_here, $array_help_all);
}
else
{
$return_status = "TRUE";
}
if($return_status == "TRUE")
{
echo "$list";
echo "\n";
return($list);
}
}
----------------
Script, der kalder
$array_help_all[0][HELPID] = "1";
$array_help_all[0][HELPREFID] = "0";
$array_help_all[1][HELPID] = "2";
$array_help_all[1][HELPREFID] = "1";
$array_help_all[2][HELPID] = "3";
$array_help_all[2][HELPREFID] = "2";
$array_help_all[3][HELPID] = "4";
$array_help_all[3][HELPREFID] = "2";
$array_help_all[4][HELPID] = "5";
$array_help_all[4][HELPREFID] = "1";
$array_help_all[5][HELPID] = "6";
$array_help_all[5][HELPREFID] = "0";
$p=0;
reset($array_help_all);
while($p<count($array_help_all))
{
$id = "".$array_help_all[$p][HELPID]."";
$list = "".$array_help_all[$p][HELPID]."";
$pos = find_pos_back($id,$list, $array_help_all);
$p++;
}