PHP の最小値と最大値に基づいて、配列内の一致する項目を見つける必要があります。精巧な foreach,if,elseif,then 句を除いて、一致する行を効率的に取得するにはどうすればよいですか?
たとえば... 配列$arr
(以下) と数値が与えられた場合、配列行、、および4
を返すにはどうすればよいですか?1
2
3
$arr = array(
0 => array( 'min' => 1, 'max' => 1, 'name' => 'alpha'),
1 => array( 'min' => 1, 'max' => 9, 'name' => 'beta'),
2 => array( 'min' => 1, 'max' => 19, 'name' => 'gamma'),
3 => array( 'min' => 2, 'max' => 29, 'name' => 'delta'),
4 => array( 'min' => 10, 'max' => 100, 'name' => 'epsilon'),
5 => array( 'min' => 20, 'max' => 100, 'name' => 'zeta'),
6 => array( 'min' => 30, 'max' => 100, 'name' => 'eta')
);
これを関数に変えたいと思っています。このようなもの:
function findMatchingRows($n) {
$arr = /*** see above ***/;
/*** your answer! ***/
return $matchingRows;
}
$n = 12;
print_r(findMatchingRows($n));
期待される結果は、上記の行2
、3
、および である必要があり4
ます。しかし、1 から 100 までの任意の整数に対して機能すると思います。