Re: [問題] 判斷一數字是否介於某些範圍之內

看板PHP作者 (.TW)時間10年前 (2015/06/14 14:03), 10年前編輯推噓1(101)
留言2則, 2人參與, 最新討論串7/7 (看更多)
※ 引述《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

06/15 11:34, , 1F
認真、實用,雖然有點bug0.0 [5,2],5
06/15 11:34, 1F

06/15 18:19, , 2F
第一個如果值相等就錯誤了,偷懶果然不行,要寫兩條判斷
06/15 18:19, 2F
※ 編輯: kerash (220.135.24.100), 06/15/2015 19:32:00
文章代碼(AID): #1LVHbFIb (PHP)
討論串 (同標題文章)
文章代碼(AID): #1LVHbFIb (PHP)