php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
[Need_Help] Variabeln in Befehlen


 
>>F-T<<
15-06-2003, 20:34 
 
Also ich habe folgendes Problem:

Ich möchte mehrere Funktionen durch einer While Schleife angeben lassen. Jede Funktion habe ich cat(1,2,3 ...) genannt. Nun habe ich wie immer den Wert $i, welchen ich nutzen möchte um die Funktionen nacheinander ablaufen zu lassen, bis $i seinen maximal Wert erreicht hat.


Nun das eigentliche Problem:

Ich muss dafür die Funktion irgendwie ausgeben. Aber ich habe bisher kein Glück damit gehabt, wenn ich Ausdrücke wie diese hier benutzt habe:
cat."$i".();


Kann mir bitte jemand sagen, welche Möglichkeiten ich habe um die Zahl zu ändern und die Funktion ablaufen zu lassen?


PS: Der Fehler ist immer ein " Parse Error, unexpected ')' ".

 
Payne_of_Death
15-06-2003, 20:38 
 
Original geschrieben von &gt;&gt;F-T&lt;&lt;
PS: Der Fehler ist immer ein " Parse Error, unexpected ')' ".

Ansatz ist richtig aber versuch ma so:

echo "cat".$i."();";

ungetestet

 
>>F-T<<
15-06-2003, 21:11 
 
Danke, es hat geklappt.

Ich bräuchte für mein Skript aber noch etwas weiteres. Ich kenne keinen Ausdruck, um eine Funktion bis zum Ende der Datei geöffnet zu lassen. Meine Funktion ist nämlich nur eine Anhäufung von Variabeln, die ich in anderen Funktionen wieder benutze, allerdings verändert. Daher muss ich nun einen Ausdruck finden, um in der While Schleife meine Variabeln zu nutzen und sie in einer neuen While-Schleife (z.B. bei $i=2) von der anderen Funktion aus zu nutzen.

Beispiel:
(Link ist eine Variabel in der Funktion)



$i=1;
$maxI=2;

$z=1;
$maxZ=3;

while($i=$maxI)
{
echo"cat".$i."();";
while($z=$maxZ)
{
print("$link[$z]");
$z++;
}
$i++;
}

 
Payne_of_Death
15-06-2003, 21:53 
 
mir ist nicht ganz klar was du damit überhaupt machen willst.

Aber ich denke eine rekursive Funktion hilft dir mehr.

Bsp.:



function Get_it($sowas=0) {

$sowas=$sowas+2
echo $sowas."<br>";

If ( $sowas < 20 ) {
Get_it ($sowas);

} End IF

} // End func


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:27 Uhr.