作者kerash (.TW)
看板PHP
标题Re: [问题] 判断一数字是否介於某些范围之内
时间Sun Jun 14 14:03:56 2015
※ 引述《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);
不知道这样对不对...?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.241.183.1
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1434261839.A.4A5.html
1F:推 xdraculax: 认真、实用,虽然有点bug0.0 [5,2],5 06/15 11:34
2F:→ kerash: 第一个如果值相等就错误了,偷懒果然不行,要写两条判断 06/15 18:19
※ 编辑: kerash (220.135.24.100), 06/15/2015 19:32:00