PHP:如何确定变量的值是否介于两个不同的常量值之间?

问题描述 投票:0回答:9

我如何确定使用 PHP 代码,例如,我有一个具有值的变量

  • 在 1 到 10 之间,或者
  • 在 20 到 40 之间?
php if-statement intervals between
9个回答
86
投票
if (($value > 1 && $value < 10) || ($value > 20 && $value < 40))

22
投票

你的意思是:

$val1 = rand( 1, 10 ); // gives one integer between 1 and 10
$val2 = rand( 20, 40 ) ; // gives one integer between 20 and 40

或者也许:

$range = range( 1, 10 ); // gives array( 1, 2, ..., 10 );
$range2 = range( 20, 40 ); // gives array( 20, 21, ..., 40 );

或者也许:

$truth1 = $val >= 1 && $val <= 10; // true if 1 <= x <= 10
$truth2 = $val >= 20 && $val <= 40; // true if 20 <= x <= 40

假设你想要:

$in_range = ( $val > 1 && $val < 10 ) || ( $val > 20 && $val < 40 ); // true if 1 < x < 10 OR 20 < x < 40

10
投票

你可以这样做:

if(in_array($value, range(1, 10)) || in_array($value, range(20, 40))) {
   # enter code here
}

7
投票
if (($value >= 1 && $value <= 10) || ($value >= 20 && $value <= 40)) {
   // A value between 1 to 10, or 20 to 40.
}

5
投票

抱歉回答晚了,但这个功能可以让你做到这一点。

  function int_between($value, $start, $end) {
    return in_array($value, range($start, $end));
  }

  // Example
  $value1 = 20;
  $value2 = 40;
  echo int_between(20, $value1, $value2) ? "true" : "false";

4
投票

从标签'operand'猜测你想检查一个值?

$myValue = 5;
$minValue = 1;
$maxValue = 10;

if ($myValue >= $minValue && $myValue <= $maxValue) { 
  //do something
}

2
投票

如果您只想检查值是否在范围内,请使用:

   MIN_VALUE = 1;
   MAX_VALUE = 100;
   $customValue = min(MAX_VALUE,max(MIN_VALUE,$customValue)));

0
投票

试试这个

if (($val >= 1 && $val <= 10) || ($val >= 20 && $val <= 40))

This will return the value between 1 to 10 & 20 to 40.

0
投票

这是一个很好的解决方案。

function int_between($value, $min, $max) {
    return in_array($value, range($min, $max));
}

我觉得这个比上面那个快

function int_between2($value, $min, $max) {
    return $value == min($max, max($min, $value));
}

但是,这比别人快3倍。

function int_between3($value, $min, $max) {
    return ($value >= $min && $value <= $max);
}

我的第一条消息:)感谢您的阅读。

© www.soinside.com 2019 - 2024. All rights reserved.