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