简单的php字符串问题,

时间:2014-05-08 22:26:14

标签: php if-statement

我坚持使用php代码,我的问题是:

我正在使用php if和elseif来显示如下内容:

<?php 
   $test_a = 0 to 10; (My problem)
   $test_b = 11 to 20; (My problem)
   $test_c = 21 to 30; (My problem)
   $test = 50; (random value) 
   $something = 12;
   $something_b = 5;
   $something_c = 15;
?>

<?php
 if($test>=$test_a){
 echo $something;
 }elseif ($test=<$test_b) {
 echo $something_b;
 }elseif (test=<$test_c) {
  echo $something_c;
 }
 ?>

我的问题是如何使用if / elseif来处理范围。

谢谢!

2 个答案:

答案 0 :(得分:3)

这显然不是有效的语法。这真的只是一个基本的if / else语句:

if($test>=0 && $test <=10){
 echo $something;
 }elseif ($test>=11 && $test <=20) {
 echo $something_b;
 }elseif ($test>=21 && $test <=30) {
  echo $something_c;
 }

只需检查$test是否大于或等于值1或小于或等于值2.如果不是,请转到下一个if语句。

答案 1 :(得分:1)

将变量设置为每个范围的顶部:

$test_a = 10;
$test_b = 20;
$test_c = 30;

if ($test <= $test_a) {
    echo $something;
} elseif ($test <= $test_b) {
    echo $something_b;
} elseif ($test <= $test_c) {
    echo $something_c;
}

如果你有很多案例,最好创建一个数组并使用循环:

$tests = array (array ('limit' => 10, 'message' => $something),
                array ('limit' => 20, 'message' => $something_b),
                array ('limit' => 30, 'message' => $something_c)
               );
foreach ($tests as $curtest) {
    if ($test <= $curtest['limit']) {
        echo $curtest['message'];
        break;
    }
}