Re: [問題] 判斷一數字是否介於某些範圍之內
蠻酷的需求
來練功一下
$a=[2,7,14,28,32,38,41,49];
$two_pair_as_range_compare = function($array, $compare){
$range = array_chunk($array,2);
foreach($range as $eq){
if( $compare>=$eq[0] && $compare<=$eq[1] )
return true;
}
return false;
};
var_dump($two_pair_as_range_compare($a, 要比對的數字));
※ 引述《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有偶數個元素)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.156.120
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1434102040.A.B69.html
→
06/12 18:21, , 1F
06/12 18:21, 1F
→
06/12 18:21, , 2F
06/12 18:21, 2F
我想太複雜了 哈 for就可以做完了
※ 編輯: ImNot5566 (36.226.156.120), 06/12/2015 18:41:50
推
06/12 21:18, , 3F
06/12 21:18, 3F
推
06/13 01:45, , 4F
06/13 01:45, 4F
我沒改
推
06/13 05:26, , 5F
06/13 05:26, 5F
→
06/13 12:29, , 6F
06/13 12:29, 6F
一個for就可以搞定了
$a=[2,7,14,28,32,38,41,49];
$two_pair_as_range_compare = function($array, $compare){
for($i=0;$i<count($array);$i+=2){
if( $compare>=$array[$i] && $compare<=$array[$i+1] )
return true;
}
return false;
};
我把大家的寫法都放上來測試
for 效能最佳
http://ideone.com/fJ6fvK
程式還是能簡單就簡單 是這樣嗎? XD
※ 編輯: ImNot5566 (114.37.122.124), 06/13/2015 13:42:56
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章