2012-08-16 75 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