2012-08-16 74 views
1

如何在(開關功能PHP)的情況下編寫if $number > 0 && $number < 15開關功能PHP

我試着用:

<?php 
    $number = rand("0","100"); 
    switch($number) { 
     case: $number > 0 && $number < 15; 
      $output = 1; 
      break; 
     case: $number > 15 && $number < 50; 
      $output = 2; 
      break; 
    } 
    return $output; 
?> 
+0

這是不尋常的使用交換機使用的情況下,像這樣 - 它的工作原理反正 – 2012-08-16 11:46:32

+0

你應該使用'mt_rand(0,100)',而不是'蘭特()'。 – Florent 2012-08-16 11:48:02

+1

如果數字是15,會發生什麼情況? :) – 2012-08-16 11:51:18

回答

10

試試這個,您的冒號是放錯了地方!

<?php 
    $number = rand("0","100"); 
    switch(true) { 
    case $number > 0 && $number < 15: 
     $output = 1; 
     break; 
    case $number > 15 && $number < 50: 
     $output = 2; 
     break; 
    } 
?> 

從下面的評論DaveRandom。請注意,如果$ number等於15,則不會發生任何情況。我建議更改您的一個switch語句。也許通過改變你的第一種情況爲:

case $number > 0 && $number <= 15: 
+0

downvote的原因是什麼?我的回答錯了嗎? – Undefined 2012-08-16 11:45:32

+2

-1,它不是'switch($ number)',而是'switch(true)',因爲case是布爾斷言。 – Florent 2012-08-16 11:45:58

+0

@Florent感謝您的糾正,我改變了我的回答 – Undefined 2012-08-16 11:46:38