我想检查传入值是否在以下范围内
80-120 and 60-80.
这是我的传入值。如何使用if语句检查它。
$a= 87
$b= 69
我试过了
if(between($a, 80, 120 && $b, 60, 80)){
echo 'good';
exit();
}
or
if($a = 80-120 && $b= 60 - 80){
echo 'good';
exit();
}
上面的代码不起作用。我是php新手。感谢
答案 0 :(得分:1)
试试这个:
$a= 87;
$b= 69;
if (in_array($a, range(80, 120)) && in_array($b, range(60, 80))) {
echo 'good';
exit();
}
这里range
方法返回一个数字范围在80&之间的数组。 120和in_array
检查您的号码是否在该阵列中。
答案 1 :(得分:0)
我试过这个:
$range1 = range(80, 120);
$range2 = range(60, 80);
$a = 87;
$b = 69;
if(in_array($a, $range1)) {
echo $a.' exist in range1';
} else if(in_array($b, $range1)) {
echo $b.' exist in range1';
}if(in_array($a, $range2)) {
echo $a.' exist in range2';
}if(in_array($b, $range2)) {
echo $b.' exist in range2';
}
答案 2 :(得分:0)
您可以使用filter_var
:
filter_var($aNumber, FILTER_VALIDATE_INT,
array(
'options' => array(
'min_range' => $minNumber,
'max_range' => $maxNumber
)
)
);
在您的代码中实现:
if ((filter_var($a, FILTER_VALIDATE_INT,
array(
'options' => array(
'min_range' => 80,
'max_range' => 120
)
)
)) && (filter_var($b, FILTER_VALIDATE_INT,
array(
'options' => array(
'min_range' => 60,
'max_range' => 80
)
)
))) {
echo '$a is between 80-120 and $b is between 60-80';
}
答案 3 :(得分:0)
实现这一目标的简单方法是
if (($a> 80 && $a< 120) || ($b> 60 && $b< 80))
{
//code
}
答案 4 :(得分:0)
call_user_func_array("range",explode("-",$range1))
这将返回从80
到120
<?php
$range1='80-120';
$range2='60-80';
$a= 87;
$b= 69;
if(in_array($a, call_user_func_array("range",explode("-",$range1))))
{
echo "In range";
}
if(in_array($b, call_user_func_array("range",explode("-",$range2))))
{
echo "In range";
}
答案 5 :(得分:0)
尝试使用&amp;&amp; amp;运算符如下:
<?php
// range 80-120 and 60-80.
$a = 87;
$b = 69;
if(($a >= 80 && $a<=120) && ($b >= 60 && $b <= 80)){
echo "yes a and b in the range";
}
else{
echo "sorry a and b not in the range";
}