Foreach $ _session [array]然后使用结果作为switch - case值

时间:2013-01-23 17:20:35

标签: php session foreach switch-statement case

我有这段代码

<?php 
        session_start();

switch($sb) {

   foreach ($_SESSION['myarray'] as $result){

     case $result:
 echo "id"$result;
 break;
   }
 }
?>

这给了我以下错误,我找不到原因:

解析错误:语法错误,意外的T_FOREACH,在foreach行上期待T_CASE或T_DEFAULT或'}'。

虽然这有效:

<?php

    foreach ($_SESSION['myarray'] as $result){
         echo "SB: ".$result.",<br>";
    }


 ?>

并输出为:

SB id:1, SB id:2, SB id:3, SB id:4, SB id:10, SB id:11, SB id:12, SB id:13,

任何人都可以看到有什么问题吗?感谢。

1 个答案:

答案 0 :(得分:1)

定义switch语言构造,使其只能包含案例,而不是像for-each那样的任意代码块。