FOR schleife mit 2+ variablen

em3L

Mitglied
So erstma Hallo bin neu hier im Forum ;)
Aber nun mal direkt zu meinem Problem...
Ich möchte gerne eine For-schleife mit 2 bedingungen also z.B. so:
PHP:
for ($i = 0, $x = 0; $i < 5 or $x < 6; $i++, $x++) { ... }
Aber so geht es leider nicht :(
Weis einer ob dass überhaupt möglich ist? Oder muss man es komplett anderst machen?
Danke im Vorraus, em3L
 
Zuletzt bearbeitet:
Was willste den mit deinem Versuch bezwecken?
Muss bei dem Code irgendwie lachen -.- naja egal ^^
Wenn wir wissen was du machen willst, wäre das vielleicht hilfreich ... oder?
 
Zuletzt bearbeitet:
Joa alse es geht um ein "kleines" Browsergame script.
Denn als erstes soll die schleife die anzahl der Farhzeuge durchzählen, also wieviele es überhaupt gibt, dann soll es zusätzlich die angriffspunkte von jeweiligem Fahrzeug mitzählen aber sobald die Angriffspunkte oder die Anzahl an Fahrzeugen zu Ende ist soll die Schleife beenden!
Dass soll so sein da dies dass Scipt dazu ist wieviele Fahrzeuge man bei einem Angriff verliert, man verliert nämlich so viele wie der Gegner angriffspunkte hat. Aber da die Angriffspunkte nicht immer einer "1" entsprechen kann es nicht die gleiche Variable sein! :D
Ok wer dass versteht darf sich ein Eis backen ;) Aber besser konnt ichs einfach nicht erklären^^
PHP:
for ($i = 0; $i < $anzahl_fahrzeuge or $x < $gegner_angriffspunkte; $i++) {
	if ($fahrzeuge_vorhanden_db[$i] == 0) {
		//leer
	}
	else {
		$fahrzeug_now[$i] = $fahrzeuge_vorhanden_db[$i] - 1;
		$x = $x + $fahrzeug_angriff[$i];
	}
}
 
Ja dies Art von for-Konstrukt ist erlaubt. Wenn der Wert beider Laufvariablen innerhalb des Konstrukts nicht weiter verändert wird, gibt es sechs Wiederholungen.
 
Hab es getestet doch dann kam der Fehler: Fatal error: Allowed memory size of 50331648 bytes exhausted (tried to allocate 4194304 bytes) in....
Also wahrscheinlich dass ich ausversehen eine Endlosschleife reingebaut hab, dann dachte ich dass liegt bestimmt daran dass ich 2 bedingungen in der FOR schleife drinne hab.
Aber da es ja so geht, muss es an was anderem liegen :(
Hab dass nämlich so gemacht:
PHP:
for ($i = 0; $i < $anzahl_einheiten or $x <= $gegner_angriffspunkte; $i++) {
	if ($abzug_einheit_db[$i] < 1) {
		$einheit_now[$i] = $einheit_db[$i];
	}
   else {
		$einheit_now[$i] = $einheit_db[$i] - 1;
		$x = $x + $einheit_angriff[$i];
	}
}
for ($i = 0; $i < $anzahl_fahrzeuge or $x <= $gegner_angriffspunkte; $i++) {
	if ($abzug_fahrzeug_db[$i] < 0) {
		$fahrzeug_now[$i] = $fahrzeug_db[$i];
	}
	else {
		$fahrzeug_now[$i] = $fahrzeug_db[$i] - 1;
		$x = $x + $fahrzeug_angriff[$i];
	}
}
Und der Fehler kommt immer in der Linie wo ich mit der ersten IF anfange?!
Vtl. ist dass Script eifnach zu groß, was ich aber nicht glaube!
 
Zuletzt bearbeitet:
Zurück