7

我有一个数字值。例如,502。我想编写一个 php if 语句,如果该值小于或大于某些数字或介于某个范围之间,它将显示一些文本。

例如数字是 502,文本会说:“500-600 之间”数字是 56,文本会说:“0-60 之间”等。

到目前为止,我有这个:

<?php $count=0;?>
<?php $board = getUserBoard($userDetails['userId']);?>
<?php if(is_array($board)):?>
<?php  $boardCount = count($board);?>
<?php foreach($board as $key=>$value):?>
<?php
$boardPin = getEachBoardPins($value->id);
$count = $count + count($boardPin);
?>
<?php endforeach?>
<?php endif?>

这给了我一个数字:

<?php echo $count;?>

我试过写...

<?php if(($count)): => 500 ?>
Over 500
<?php endif ?>

但我一直遇到错误。

如果可能的话,我想使用表示各种数字范围的 elseif 语句创建一个列表。

例如

0-50、51-250、251-500 等

谁能帮我?

谢谢。

4

5 回答 5

16

PHP 中最简洁、最简洁和最广泛使用的语法if conditions是:

if($value >=500 && $value <=600 )
{
  echo "value is between 500 and 600";
}
于 2013-05-07T14:32:10.257 回答
2
if ($count >= 0 && $count < 100) {
    echo 'between 0 et 99';
} elseif ($count < 199) {
    echo 'between 100 and 199';
} elseif { ...

}elseif ($count < 599) {
    echo 'between 500 and 599';
} else {
    echo 'greater or equal than 600';
}
于 2013-05-07T15:10:54.233 回答
1

我不确定您需要什么,但我理解您的要求如下:

function getRange($n, $limit = array(50, 250, 500)) { // Will create the ranges 0-50, 51-250, 251-500 and 500-infinity
  $previousLimit = 0;
  foreach ($limits as $limit) {
    if ($n < $limit) {
      return 'Between ' . ($previousLimit + 1) . ' and ' . $limit; //Return whatever you need.
    }
    $previousLimit = $limit;
  }
  return 'Greater than ' . $previousLimit; // Return whatever you need.
}

echo getRange(56); // Prints "Between 51 and 250"
echo getRange(501); // Prints "Greater than 500"
echo getRange(12, array(5, 10, 15, 20)); // Prints "Between 11 and 15"
于 2013-05-07T14:47:55.360 回答
1

几年前我写了这样的东西(可能是更好的方法):

function create_range($p_num, $p_group = 1000) {
    $i = 0;

    while($p_num >= $i) {
        $i += $p_group;
    }

    $i -= $p_group;

    return $i . '-' . ($i + $p_group - 1);
}

print 'The number is between ' . create_range(502, 100) . '.';

它会说 500-599,但您可以根据需要进行调整。

于 2013-05-07T14:33:31.407 回答
1
function getRange($number){
    $length=strlen($number);
    $length--;
    $r1=round($number,-$length);
    if ($r1>$number){
        $r2=$r1-pow(10,$length);
    return ''.$number.' value is between '.$r2.'-'.$r1;
    }
    else {
    $r2=$r1+pow(10,$length);
        return  ''.$number.' value is between '.$r1.'-'.$r2;
    }
 }

尝试这个。

于 2013-05-07T15:03:08.877 回答