看板 PHP 關於我們 聯絡資訊
※ 引述《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