Switch mit Werten aus einem Array
    
Gast
    
    
      
    
  - php
 
0 vaudi0 isset()
EisFuX
Hallo zusammen!
Kann man folgendes machen?
  
   // List of boards  
   $list_of_boards = array(  
    "1" => "Plauderecke",  
    "2" => "Fussball",  
    "3" => "Bugs & Fehlermeldungen",  
    );  
  
         switch ($_REQUEST["forum"]) {  
   foreach ($list_of_boards AS $board_number => $board_name) {  
                case $board_number:  
                    $forum_name = $board_name;  
                    $forum = $_REQUEST["forum"];  
                    break;  
   }  
   }  
Bei mir erzeugt dies nämlich folgende Fehlermeldung:
Parse error: syntax error, unexpected T_FOREACH, expecting T_CASE or T_DEFAULT or '}' in xxx
Ich hoffe, dass mir jmd weiter helfen kann.
Danke schon mal im vorraus! :-D
Hallöchen,
Kann man folgendes machen?
Nein.
Wozu auch? Das foreach macht doch alles, was du brauchst:
foreach ($list_of_boards AS $board_number => $board_name) {
$forum_name = $board_name;
$forum = $_REQUEST["forum"];
}
  
> Bei mir erzeugt dies nämlich folgende Fehlermeldung:  
> Parse error: syntax error...  
  
Logisch. Switch ist der Rahmen, der die case-Blöcke zusammenfasst. Irgendwelcher Code MUSS INNERHALB einer case-Anweisung stehen.  
  
  
MfG  
vaudi
  (Hallo|Hi(ho)|Tag|Mahlzeit) Gast,
// List of boards
$list_of_boards = array(
"1" => "Plauderecke",
"2" => "Fussball",
"3" => "Bugs & Fehlermeldungen",
);switch ($_REQUEST["forum"]) {
foreach ($list_of_boards AS $board_number => $board_name) {
case $board_number:
$forum_name = $board_name;
$forum = $_REQUEST["forum"];
break;
}
}
>   
> Bei mir erzeugt dies nämlich folgende Fehlermeldung:  
> Parse error: syntax error, unexpected T\_FOREACH, expecting T\_CASE or T\_DEFAULT or '}' in xxx  
  
Wesentlich eleganter lässt sich dein Problem lösen, wenn du $list\_of\_boards andersherum aufbaust:  
  
~~~php
  
$list_of_boards = array (  
    'Plauderecke' => 1,  
    'Fussball' => 2,  
    'Bugs & Fehlermeldungen' => 3,  
);  
  
if (isset($list_of_boards[$_REQUEST['forum']])) {  
  $board_name = $_REQUEST['forum'];  
  $board_number = $list_of_boards[$board_name];  
}  
// wenn nötig, hier defaultwerte einsetzen  
else {  
  $board_name = ...;  
  $board_number = ...;  
}  
MffG
EisFuX