Einzelnen Beitrag anzeigen
  #3 (permalink)  
Alt 24-07-2009, 21:18
subabrain
 Registrierter Benutzer
Links : Onlinestatus : subabrain ist offline
Registriert seit: Aug 2005
Ort: Psychiatrie
Beiträge: 404
subabrain ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich weiß jetzt nicht genau wie das gemeint war.

Aber erstmal vorweg, die Funktion hat mehrere return Statements und gibt am Ende auch das Ergebnissarray zurück wenn alle Bedingungen erfüllt sind bzw. teilweise erfüllt sind ansonsten lasse ich FALSE zurückgeben.
Habe es aber aus Anschauungsgründen weggelassen also in etwa so:

PHP-Code:
// Hier der Funktionskopf Parameter insgesamt 9 aber Hier nur 3 zur Anschauung
function GetUrlInfo($url,$cnt_sites,$result_array) {
  
// Seiten Zählen und Ausgeben
  
$cnt_sites++;
  echo 
$cnt_sites.'<br />';
  
// Wenn mehr als 200 Unterseiten aufgerufen wurden Funktion verlassen
  
if($cnt_sites 200) {
    if(
count($result_array) > 0){
      return(
$result_array);
    } else {
      
retrun(FALSE);
    }
  }
  
// Informationen holen und in Array speichern (hier nur Beispielhaft)
  
$infos = array('Information1',
                 
'Information2');
  
// Ergebnisarray füllen
  
foreach($infos AS $info){ 
    
// Werte als Key speichern
    
$result_array[$info] = '';
  }
  
print_r($result_array);
  echo 
'<br />';
  
// ca. 390 Zeilen Code
  
if(noch neue Seiten vorhanden) {
    
//ein rekursiver Aufruf (von 5 Stück in der Funktion) 
    // 
    // Wie soll ich den Rückgabewert behandeln?????
    
$Rueckgabe GetUrlInfo($url,$cnt_sites,$result_array);

  } else {
    
// HIER nochmal Beispiel für Rückgabe
    
if(count($result_array) > 0){
      return(
$result_array);
    } else {
      
retrun(FALSE);
    }
}

// Funktionsaufruf
$result_array = array();
$cnt_sites 0;
$url 'www.example.com';

$result GetUrlInfo($url,$cnt_sites,$result_array);
if(
$result != FALSE){
  
print_r($result);

Kann ich denn mit dem Rückgabewert inerhalb der Funktion noch was anfangen? Normalerweise werden doch alle weiteren Zeilen ab dem rekursiven Funktionsaufruf ignoriert. Ich kann mir irgendwie nicht vorstellen wie dass aussehen soll.
Mit Zitat antworten