検索

ホームページ  >  に質問  >  本文

私のスイッチが最初のケースを自動的に出力するのはなぜですか?

<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

明らかにまだフォームにパラメータが渡されていないのに、なぜ最初のケースが出力されるのでしょうか?このとき、$init 変数は空ですが、どうやって成功と判断できるのでしょうか? ?どうしたの? ?

MArtianMArtian1936日前1275

全員に返信(2)返信します

  • 卢小强

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

    何も入力せずに送信すると、送信された値は空になります。空の場合は切り替え条件を満たさないため、最初の CASE から実行が開始され、ブレークに遭遇するまで停止しません

    返事
    0
  • MArtian

    条件が満たされていない場合でもスイッチは動作しますか?それです、ありがとう

    MArtian · 2019-11-17 12:41:30
  • キャンセル返事