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