Frage zu switch

spikaner

Quereinsteiger @ php
kann man folgendes auch kürzer gestalten?
PHP:
switch ($variable){
case 0:
case 1:
case 2:
case 4:
    $variable2 = 1;
    break;
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
     $variable2 = 2;
    break;
...
...
...
ich müsste sonst eine ewige Liste case schreiben und testen kann ich es erst wenn ich in 2 Tagen wieder daheim bin und da sollte das ganze schon fertig sein.

mfg Spikaner
 
Hallo.

PHP:
switch ($variable){
case $variable >= 4 && $variable < 10 : $variable2 = 1;
..
}
sollte gehen. auch wenns jetzt ungestestet ist.
Wobei ich da eher auf Ifschleifen umsteigen würde.
 
PHP:
if ( $variable <= 4 )
    { $variable2 = 1; }
else if ( $variable >= 5 && $variable <= 10 )
    { $variable2 = 2; }
...
 
PHP:
switch( true ) {
	case $variable >= 0 && $variable <= 4:
		$variable2 = 1;
		break;
	case $variable >= 5 && $variable <= 10:
		$variable2 = 2;
		break;
	case // …
}
Oder:
PHP:
if( $variable >= 0 && $variable <= 4 ) {
	$variable2 = 1;
} else if( $variable >= 5 && $variable <= 10 ) {
	$variable2 = 2;
} else // …
Oder:
PHP:
if( $variable >= 0 ) {
	if( $variable <= 4 ) {
		$variable2 = 1;
	} else if( $variable <= 10 ) {
		$variable2 = 2;
	} else // …
}
Aber vielleicht gibt es ja auch eine Gesetzmäßigkeit, die sich dafür nutzen lässt.
 
Danke dir Gumbo ;)
Vielleicht noch 1,2 Nette Worte, dann wirkst du nicht immer gleich wie sonne PHP-Code_maschine ;)=
 
wenns kürzer geht bin ich für jede Lösung offen
PHP:
    $entfernungsvariable = (($entfernungsvariable = abs($_POST['planet']-$aufenthaltsort)) > 50) ? 80-$entfernungsvariable : $entfernungsvariable;
    switch ($entfernungsvariable)
    {
    case $entfernungsvariable < 4:
        $entfernung = 1;        
        break;
    case $entfernungsvariable < 12:
        $entfernung = 2;        
        break;
    case $entfernungsvariable < 24:
        $entfernung = 3;        
        break;
    case $entfernungsvariable < 40:
        $entfernung = 4;        
        break;
    }

@ Gumbo wenn du dich noch an meine Frage gestern erinnern kannst hier jetzt das ganze (ausgelegt mom noch auf nee Tabelle 9*9)
und ich hoffe das ich richtig denke

mfg Spikaner
 
Auf welche Regel beruht denn die Berechnung der Entfernung? Übrigens müsstest du in dem switch-Konstrukt true als Vergleichswert eintragen.
 
Zurück