• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

cases von siwtch in einer schleife generieren

Status
Für weitere Antworten geschlossen.

Frank

Neues Mitglied
hi leute.

ich stehe mal wieder vor einem kleinen problem, für das ich bis jetzt noch keine Lösung gefunden habe.

Ich möchte durch einer schleife innerhalb einer switch anweisung die Cases produzieren.

Als beispiel:
PHP:
<?php
$a = 1;
switch($a)
{
  for($i = 0;$i<5;$i++)
  {
    case $i:
      echo "Case {$1}";
    break;
  }
}
?>

Das das so nicht geht kann ich mir schon denken, da zumindest schoneinmal das break; innerhalb der for-schleife die falsche Wirkung erziehlt.

Habt ihr eine Idee? Für jeden Vorschlag bin ich dankbar.

greez
 
was willst du damit, ich kann mir keine situation vorstellen, in der ich sowas brauchen könnte...

eine möglichkeit wäre, dass du die cases in einen string machst

PHP:
<?php
for ($i=0;$i<5;$i++) {
 $string .= "case \"$i\": echo \"case $i\"; break;"
}

und den dan parst

PHP:
<?php eval($string); ?>

is jedoch keine optimale lösung für ein nicht vorhandenes problem... was willst du damit?
 
Mach es doch einfach mit einem ganz normalen if in der schleife.

PHP:
<?php 
$a = 1;
for($i = 0;$i<5;$i++) 
{ 
  if($a == $i)
  {
    echo 'Case '.$a; 
  }
}
?>
 
Hallo,

Das das so nicht geht kann ich mir schon denken, da zumindest schoneinmal das break; innerhalb der for-schleife die falsche Wirkung erziehlt.
break kann auch über mehrere Stufen springen, musst mal auf php.net schaun, wie die genaue Syntax geht. Aber nichtsdestotrotz würde ich auch die if-Abfrage vorziehen.


N43
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben