PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : case mehrmals verwenden


beginner21
15.06.2004, 05:15:14
Hallo

Ich habe folgende frage:
Ich habe eine etwas längere case die ich im script gleich 8 mal brauche.


8 mal den selben case mit je 100 zeilen darzustellen ist etwas viel und so kommen schon 800 zeilen zusammen.

kann ich den selben case nicht irgendwie mehrfach verwenden ?

Hier ein Beispiel:



CASE1


switch ($code1) {
case 0:
$code1 = 'dies';
break;
case 1:
$code1 = 'das';
break;


......

CASE2
switch ($code2) {
case 0:
$code2 = 'dies';
break;
case 1:
$code2 = 'das';
break;

$code1 und $code2 sind natürlich nicht gleiche Werte (werden aus erbeniss einer rechnung ausgesondert)

Corvin
15.06.2004, 06:59:46
Ist doch ganz einfach, du packst das einfach in eine Fuktion.

function case1($code1) {
switch ($code1) {
case 0:
$code1 = 'dies';
break;
case 1:
$code1 = 'das';
break;
}
}

function case2($code2){
switch ($code2) {
case 0:
$code2 = 'dies';
break;
case 1:
$code2 = 'das';
break;

}
}

Und die BEiden Aufrufe:

case1();

case2();

Solltest noch nicht mit Funktionen gearbeitet haben, mehr dazu findest du hier (http://www.phpreferenz.de/php_file_functions.html).

Marilu
15.06.2004, 09:00:40
> Und die BEiden Aufrufe:
> case1();
> case2();

Solltest Du dann nicht auch eine Variable übergeben? Sollte die Funktion nicht was zurückgeben?

Corvin
15.06.2004, 13:47:46
Ja natürlich! ... Habe ich vergessen in den Code zu schreiben ...

beginner21
16.06.2004, 03:08:14
Hallo

Vielen Dank fürs erste für den Vorschlag.


Aber das Problem wird dadurch ja nur als Funktion verpackt.
Die Codelänge bleibt ja die selbe.

Ich meite eher ob ich eine case mehrmals verwenden kann da das ergebniss immer derselbe ist nur die Werte verschieden sind.
Also etwa:
$code1 = 3 als Eingangswert

$code2 = 4 als Eingangswert

$code3 = 1 als Eingangswert
usw.
Dadurch kommt dann zum schluss (nach einer aufwendigen Berechnung *grins*) eine codezeile raus die ich wieder zusammensetzen kann.
Es funktioniert zwar so auch, jedoch ist es nicht sehr elegant.

LG Beginner

beginner21
16.06.2004, 03:19:41
Sorry, doppelt raus gekommen :-)

Bigdaddy
17.06.2004, 13:24:29
öhm... vorausgesetzt die variable heisst tatsächlich $case1 - $case100
dann dürfte das irgendwie so gehen:



for($x=1;$x<=100;$x++) {

switch ($code.$x) {
case 0:
$code.$x = 'dies';
break;
case 1:
$code1 = 'das';
break;
}
}


öhm... ich hab den code nicht getestet, weiss daher nicht obs funktioniert (keine Testmöglichkeit im Geschäft) aber ich geh mal davon aus ;)

beginner21
18.06.2004, 01:08:32
jepp - besten dank - so hab ichs gemacht (bevor ich das posting gelesen hab war ich noch bei selfphp und hab mich endlich mit "x" und "y" beschäftigt *StolzBin*)

Besten Dank und liebe Grüße

Beginner