簡體   English   中英

for循環中的PHP switch語句

[英]PHP switch statement inside for loop

這里有一個非常簡單的問題是我的代碼:

$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放入一個數組,但它也不起作用:(

您錯過了停止執行 switch 語句的break語句。 沒有它,一切都會“落入”到最后一條將$pubtitle設置$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;
}

您需要添加中斷; 在每個案例結束時。

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

使用 break 和 defalut 在 switch case 上獲得完美的結果

 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";
    }

這是一個完美的方法。 試試這個它真的幫助我解決了我的問題。

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;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM