PHP中的switch语句for循环

时间:2014-03-28 18:18:32

标签: php for-loop switch-statement

一个非常简单的问题 这是我的代码:

$imax = 3;
$licenses = array('pub1','pub2','pub3');

for ($i=0; $i<=$imax; $i++) {

$pub = $licenses[$i];

switch ($pub){
case 'pub1': $pubtitle = "Pub title 1";
case 'pub2': $pubtitle = "Pub title 2";
case 'pub3': $pubtitle = "Pub title 3";
}

echo $pubtitle;

}

输出是:

Pub title 3
Pub title 3
Pub title 3

我试图将$pubtitle放到数组中,但它也不起作用:(

4 个答案:

答案 0 :(得分:3)

你需要添加休息;在每个案件的最后。

switch ($pub){
case 'pub1': $pubtitle = "Pub title 1"; break;
case 'pub2': $pubtitle = "Pub title 2"; break;
case 'pub3': $pubtitle = "Pub title 3"; break;
}

答案 1 :(得分:3)

您错过了停止执行switch语句的break语句。如果没有它,所有的一切都会落在&#34;到最后一个将$pubtitle设置为&#34; Pub Title 3&#34 ;;

的陈述
switch ($pub){
   case 'pub1': $pubtitle = "Pub title 1"; break;
   case 'pub2': $pubtitle = "Pub title 2"; break;
   case 'pub3': $pubtitle = "Pub title 3"; break;
}

答案 2 :(得分:0)

使用break和defalut在开关盒上获得完美的结果

 switch ($pub){
       case 'pub1': $pubtitle = "Pub title 1"; break;
       case 'pub2': $pubtitle = "Pub title 2"; break;
       case 'pub3': $pubtitle = "Pub title 3"; break;
       default: echo "not in our list";
    }

答案 3 :(得分:0)

这是一种完美的方法。尝试一下,它真的让我为之振奋。

for($i = 0; $i < count($array); $i++) {
    switch($data) {
        case 'Now':
            $answer = (stripos($array[$i]['word'], 'Button') !== FALSE) ? 'Yes' : 'No';
            break;
        case 'Next':
            $answer = (stripos($array[$i]['word'], 'Input') !== FALSE) ? 'Yes' : 'No';
            break;
    }
}