搜尋

首頁  >  問答  >  主體

為什麼我的switch自動輸出了第一個case?

<form action="" method="get">
    <label for="score">请输入成绩:</label><input type="number" id="score" name="score" max="100" value="">
    <button>提交</button>
</form>
$init = $_GET['score'];
switch($init){
    case $init >=90 :
    echo '<p>厉害了,我的学霸!</p>';
    break;
    case $init >=80 :
    echo '<p>再接再厉,努力吧!</p>';
    break;
    case $init >=70 :
    echo '<p>差太多啦!得加油赶上了!!</p>';
    break;
    case $init >=60 :
    echo '<p>建议你留级吧!!</p>';
    break;
    default:
        break;
}

1.png

明明還沒向form傳參,怎麼把第一個case輸出了呢?這時候$init變數是空的呀,怎麼會判斷成功呢? ?這是怎麼回事呢? ?

MArtianMArtian1869 天前1245

全部回覆(2)我來回復

  • 卢小强

    卢小强2019-11-17 09:12:23

    如果什麼也不輸入就提交的話,那麼提交的值就是空,空不符合任何switch條件,所以它會從第一個CASE開始執行,直到遇到break才會停止

    回覆
    0
  • MArtian

    不符合條件switch也會運作嗎?原來是這樣,謝謝

    MArtian · 2019-11-17 12:41:30
  • 取消回覆