2017-08-05 43 views
0

我正在嘗試編寫PHP代碼,可以執行以下操作: 如果分數小於或等於50,則打印「參加測驗」, elseif分數介於51和80之間然後打印「參加測試」, 其他打印「你已經通過」 所以主要的問題是如何讓操作員在50到80之間(要計算從51到80的所有數字)。謝謝!PHP變量運算符爲一個組中的多個值

+0

你不需要數數什麼,只是比較分數 – ImAtWar

+0

這是我的代碼: $ score = 0;如果($ score <= 50) echo「Please take a quiz」; } elseif($ score == 51 || $ score == 80){ echo「Please take a quiz」; } else { echo「You've passed」; } –

+0

@JobGondwe查看答案,就像你在'if($ score <= 50)'中如何不從負無窮到50,這同樣適用於你的elseif - 你可以使用條件來比較不同的數字,並且允許您在相同條件下使用多個條件,但在這種情況下,由於「else」(和「elseif」)的奇蹟,假定score是整數,因此不需要這種情況。正如我所說,請看下面的答案。 – Max

回答

0

我覺得你找這個

if($score <= 50) 
     echo 'take a quiz'; 
    else if($score < 80) 
     echo 'take a test'; 
    else echo 'you have passed'; 
+0

其實這個作品...我認爲我是過度思考,謝謝你:) –

0

要做到這一點,你將需要三大運營商中,><&&結合。

&&運算符評估其左側和右側,如果它們都是真值,則返回真值,如果其中一個或兩個都爲假,則返回真值。 (返回的值將是其中一個參數)。

這被稱爲運算符,因爲它只有在A和B爲真時才返回真值。

要結合一切,人們會做if($score < 82 && $score > 50)

但是,在這種情況下實際上有一個更簡單的方法。

假設$score是一個整數,如果它不小於50,則它大於或等於51.並且由於if語句中的所有前面的子句都沒有運行,else-if將不會運行(即只有一個可能的代碼塊會運行),那麼你只需檢查$score是否小於80)。

因此,這意味着,在這種情況下,而&&運營商可以使用,我們可以只寫

if($score < 50) { 
    // ... 
else if ($score < 80) { // "else if" won't run if ($score < 50) was false. 
    // ... 
} else { // won't run unless ($score < 80) and ($score < 50) were both false 
    // ... 
} 

這就是爲什麼else想法是非常有用的。

+0

感謝哥們這個作品完美。 :) –