Gast: Switch mit Werten aus einem Array

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

  1. 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
    
  2. (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