Vinzenz Mai: Continue wird nicht richtig verwendet!

Beitrag lesen

Hallo,

Was ich mehr möchte? Dass es funktioniert. Aber ich habe wohl viel zu stark vereinfacht. Hier jetzt die komplette for Schleife:

vor allem falsch vereinfacht. Deine Ausgabe ist ja außerhalb der if-Anweisung:

# Wie sieht der Inhalt von $ServerCounter aus?  
# Nach Deiner Beschreibung müsste count($ServerCounter) zurückliefern :-)  
  
# vgl. [link:http://de2.php.net/manual/de/function.count.php#refsect1-function.count-returnvalues@title=Handbuch zu count(), Abschnitt Rückgabewert]:  
#     "Ist var kein Array oder Objekt mit Interface Countable, wird 1 zurückgegeben."  
  
var_dump($ServerCounter);  
  

> for($i=0;$i<count($ServerCounter);$i++) {  
> 		$UserMatch = array_search($ServerList["Accounts"][$i],$UserList["Names"]);  
> 		// TESTAUSGABE  
> 		echo "$i --------<br>";  
> 		if($UserList["Types"][$UserMatch] == true) {  
  
                    # Ausgaben und Anweisungen, die $i allesamt nicht ändern  
                    # gekürzt  
  

> 		}  
> 		else {  
> 			// If the server's owner's account is not premium, don't show it  
> 			continue;  
> 		}  
> 	}  
  
# und auf den überflüssigen else-Zweig [pref:t=210233;m=1432490@title=hat dedlfix Dich schon hingewiesen]  

d.h. die Vereinfachung erfolgt zu:

$boundary = count($ServerCounter);    # einmal bestimmen reicht :-)  
var_dump($boundary);                  # Kontrollausgabe  
for ($i = 0; $i < $boundary; $i++) {  
    echo "$i -------<br>";             # noch eine innerhalb der Schleife  
    if(some_expression($i)) {  
        # produziere Ausgabe  
    }  
    else {  
        continue;  
    }  
}  

was man ohne Verlust zu

$boundary = count($ServerCounter);    # einmal bestimmen reicht :-)  
var_dump($boundary);                  # Kontrollausgabe  
for ($i = 0; $i < $boundary; $i++) {  
    echo($i -------<br>";             # noch eine innerhalb der Schleife  
    if(some_expression($i)) {  
        # produziere Ausgabe  
    }  
}  

vereinfachen kann. Wie dedlfix schon schreibt, gibt es gar kein Problem mit continue sondern eines mit count($ServerCounter).

Freundliche Grüße

Vinzenz