for 循环内的 PHP switch 语句

noe*_*888 3 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;

}
Run Code Online (Sandbox Code Playgroud)

输出是:

Pub title 3
Pub title 3
Pub title 3
Run Code Online (Sandbox Code Playgroud)

我试图放入$pubtitle一个数组,但它也不起作用:(

Joh*_*nde 5

您缺少break停止执行 switch 语句的语句。如果没有它,一切都会“失败”到设置$pubtitle为“Pub Title 3”的最后一个语句;

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