Re: [问题] 判断一数字是否介于某些范围之内

楼主: kerash (.TW)   2015-06-14 14:03:56
※ 引述《red0whale (red whale)》之铭言:
: 假设我有一阵列变量$a=[2,7,14,28,32,38,41,49];
: 今假设一个数$b
: 请问怎么判断$b是否介于2~7、14~28、32~38、41~49这些范围之内?
: (亦即$b是否介于$a的数值范围内,假设$a有偶数个元素)
试试看 current 跟 next
// $cl = array;
// $t = ele;
function pair_in_array_range($cl, $t) {
while( ($s=current($cl))&&($n=next($cl))){
// if($t>=$s?$t<=$n:$t>=$n&&$t<=$s)
if( ($t>=$s and $t<=$n) or ($t>=$n and $t<=$s))
return true;
next($cl);
}
return false;
}
那个 if 做成针对没排序一样可以
$a=[2,7,35,22,32,38,41,49];
var_dump(pair_in_array_range($a,27));
>>> bool(true);
不知道这样对不对...?
作者: xdraculax (首席怪叔叔)   2015-06-15 11:34:00
认真、实用,虽然有点bug0.0 [5,2],5
楼主: kerash (.TW)   2015-06-15 18:19:00
第一个如果值相等就错误了,偷懒果然不行,要写两条判断

Links booklink

Contact Us: admin [ a t ] ucptt.com