Zusammengesetzte Variablen

FRitter

Erfahrenes Mitglied
Hallo an alle!

Ich arbeite an einem PHP-Script und komme nicht mehr weiter....ich brauche dynamische Variablennamen und versuche nun einmal, das ganze Szenario zu schildern:

Die Variablen "$check001" bis z.B. "$check100" werden an dieses PHP-Script per Formular übergeben. Es können unterschiedlich viele Variablen an das Script übergeben werden, wobei die Anzahl der check-Variablen in "$num_end" definiert ist; z.B. steht in $num_end bei der Formularübergabe = 044 (es ist also ein Counter auf der Seite des Formulars).
Dann soll per PHP mit Hilfe einer FOR-Schleife jede check-Variable auf den Wert "yes" überprüft werden und falls es TRUE ist soll ein HTML-Code + die Variablen "$question001" bis z.B. "$question044" ausgegeben werden. Diese Variablen müssen natürlich zusammengesetzt werden, aber wie ? (Das gleiche soll dann nochmal für $answer geschehen...ist ja dann die gleiche PHP-Syntax)

Hinweis: Die rot markierten Zeilen sind meine Schwachstellen...

Code:
for ($i=1; $i>$num_end; $i++) {
	$i = sprintf ("%03d", $i);
	if (check . $i == "yes") {
		echo "...HTML-Code..." . $i . "...HTML-Code";
		echo (${"question_$i"});
                                echo "...weitere HTML-Ausgabe...";
		echo (${"answer_$i"});		
	}
}

Was meinen die Experten ?
 
Zuletzt bearbeitet:
Vielen Dank für die schnellen Antworten!

Jetzt klappt es mit den dynamischen Variablen... (aber das Dümmste ist, dass ich einen Logikfehler in der FOR-Schleife hatte, die Variablen waren schon ganz ok :eek: (peinlich) :) )

Aber noch eine Frage habe ich, wozu ich auch nichts passendes finden konnte:

Wie kann ich eine IF-Abfrage machen, so dass viele hundert Variablen mit einem Befehl abgefragt werden können:

if ($variable001 bis $variable100 == "Wert") { .....} (es soll eine UND-Abfrage sein, so dass überprüft wird, ob in allen Variablen 001 bis 100 ein bestimmter Wert steht)

Eigentlich bräuchte ich nur einen Platzhalter für die 3 stellige Zahl, oder?
 
Zuletzt bearbeitet:
Wie gesagt: arbeite mit Arrays, und du ersparst dir viele Probleme.

Eine Möglichkeit mit Arrays wäre folgender Code:
PHP:
<?php

if (count(array_keys($myArray, 'Wert')) == count($myArray)) {
	// Jedes Element des Arrays $myArray hat den Wert 'Wert'
	…
}

?>
 
Hallo zurück,

danke an Matthias für den Tipp mit den Arrays. Jetzt komme ich weiter klar und habe das Thema als "erledigt" markiert. :)
 
Zurück