作者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://www.ptt.cc/bbs/PHP/M.1434261839.A.4A5.html
推 xdraculax: 認真、實用,雖然有點bug0.0 [5,2],5 06/15 11:34
→ kerash: 第一個如果值相等就錯誤了,偷懶果然不行,要寫兩條判斷 06/15 18:19
※ 編輯: kerash (220.135.24.100), 06/15/2015 19:32:00