簡體   English   中英

PHP大小寫切換打印消息

[英]PHP case switch print message

我正在使用PHP,目前正在使用case switch功能。 我想創建最多100個隨機數,並根據輸出的隨機數回顯一條消息。

我的PHP代碼:

$number = rand(1, $limit);



    switch($number){

        case "range1":
            if($number >=1 || $number <=25 ){
                print 'You win nothihg';
            }else{
                print 'Your Score is: '.$number;
            }
            break;
        case "range2":
            if($number >25 || $number <=50 ){
                print 'You win Small Prize';
            }else{
                print 'Your Score is: '.$number;
            }
            break;
        case "range3":
            if($number >50 || $number <=75 ){
                print 'You win Medium Prize';
            }else{
                print 'Your Score is: '.$number;
            }
            break;
        case "range4":
            if($number >75 || $number <=100){
                print 'You win Large Prize';
            }else{
                print 'Your Score is: '.$number;
            }
            break;
        default:
            if($number <=75) {
                print 'Keep tryintg untill you win Large';
            }
    }

我遇到的問題是消息未顯示.....我不知道我在哪里出錯了..?

rand函數將返回一個介於您設置為2個參數的限制(在本例中為1 )和$limit值之間的數字。

由於您沒有將$number變量與單詞range連接在一起,因此永遠不會將其作為值返回,請注意:

$number = rand(1,2);
//$number = 1 or 2

switch($number):
    //possible cases are case '1' and case '2'
endswitch;

如果您希望將range串聯在一起,則:

$number = 'range' . rand(1,$limit);

你身體不好 閱讀有關rand返回int值的手冊。 如果案例條件為真,也請閱讀開關手冊,一般情況下開關會進入案例塊。 在您的情況下,與整數編號相比,“ range1” ..“ range [n]”始終為假。

我會用這樣的東西:

switch($number){
 case $number<=1:
  echo "less than one";
  break;
 case $number<=50:
  echo "less than 50";
  break;
 default:
//do something default
}

$ number不會返回您的switch關鍵字“ range”,但它將返回一個整數值! 只需將您的If-condition作為案例聲明並分別打印價格大小

您將隨機數傳遞給交換機並期望使用字符串,除非您將其置於默認情況下,否則您將永遠無法顯示任何消息。

暫無
暫無

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

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