TP Underground Lounge 07/08
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 27.08.2005, 12:05   #1
TP-Veteran
 
Benutzerbild von alexf812
 
Registriert seit: Sep 2004
alexf812 macht alles soweit korrekt

rekursive funktion und return-wert


hallo,

hier mal 2 codebeispiele. das erste funktioniert wie gehabt nur beim zweiten bekomm ich immer nur den letzen wert angezeigt. wäre schön wenn mir das jemand verständlich erklären könnte und wie ich mit dem 2 beispiel dieselbe ausgabe wie bei 1. erreiche:

1.
PHP-Code:
function structure($id)
{
    
$ma = array(array("id" => "1","parent" => 0,"eh" => 156),
                array(
"id" => "2","parent" => 1,"eh" => 96),
                array(
"id" => "3","parent" => 2,"eh" => 57),
                array(
"id" => "4","parent" => 3,"eh" => 20),);
        
    if (
$ma[$id]['parent'] > 0){
        
structure($ma[$id]['parent']-1);
    }
            
    
$retval str_repeat("-",$id).$ma[$id]["id"]."EH: ".$ma[$id]["eh"]."<br>";
    
    echo 
$retval;
}
structure(3); 
ausgabe:
1EH: 156
-2EH: 96
--3EH: 57
---4EH: 20

2. Beispiel:
PHP-Code:
function structure($id)
{
    
$ma = array(array("id" => "1","parent" => 0,"eh" => 156),
                array(
"id" => "2","parent" => 1,"eh" => 96),
                array(
"id" => "3","parent" => 2,"eh" => 57),
                array(
"id" => "4","parent" => 3,"eh" => 20),);
    
$retval "";
    
    
    if (
$ma[$id]['parent'] > 0){
        
structure($ma[$id]['parent']-1);
    }
            
    
$retval .= str_repeat("-",$id).$ma[$id]["id"]."EH: ".$ma[$id]["eh"]."<br>";
    
    return 
$retval;
}
$out structure(3);
echo 
$out
Ausgabe:
---4EH: 20 --> hier sollte es so wie bei 1. sein, nur ich versteh nicht warum es nicht so ist

Geändert von alexf812 (27.08.2005 um 12:08 Uhr).
alexf812 ist offline   Mit Zitat antworten


Alt 27.08.2005, 12:49   #2
TP-Veteran
 
Benutzerbild von holunda
 
Registriert seit: Oct 2001
Ort: Oberau
holunda macht alles soweit korrekt
hi,

du must die tieferen Rekursionen der $retval zuweisen:

PHP-Code:
...
  if (
$ma[$id]['parent'] > 0){
        
$retval .= structure($ma[$id]['parent']-1);
    } 
... 
schönes we
__________________
Gruß vom holu
holunda ist offline   Mit Zitat antworten
Alt 27.08.2005, 15:36   #3
TP-Veteran
 
Benutzerbild von alexf812
 
Registriert seit: Sep 2004
alexf812 macht alles soweit korrekt
danke hat nicht ganz so funktioniert wie du gesagt hast, der punkt musste noch weg

PHP-Code:
function structure($id)
{
    
$ma = array(array("id" => "1","parent" => 0,"eh" => 156),
                array(
"id" => "2","parent" => 1,"eh" => 96),
                array(
"id" => "3","parent" => 2,"eh" => 57),
                array(
"id" => "4","parent" => 3,"eh" => 20),);
    
$retval "";
    
    
    if (
$ma[$id]['parent'] > 0){
        
$retval structure($ma[$id]['parent']-1);
    }
            
    
$retval .= str_repeat("-",$id).$ma[$id]["id"]."EH: ".$ma[$id]["eh"]."<br>";
    
    return 
$retval;

alexf812 ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
rekursive funktion und return-wert rekursive funktion und return-wert
« [Datenbanken] Mehrdimensionale Arrays... | Problem bei MySQL installation »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:09 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67