doupa2871 2017-05-11 10:34 采纳率: 100%
浏览 458
已采纳

在数组php中获取小于或等于number的数字

PHP array:

$arr = array(0,15,60,120,2200);

I pass a $number = 12 with array value in function, then return value should be 0

and I pass a $number = 15 with array value in function, then return value should be 15

I was trying with below code but not luck

<?php
function get_less_value($arr, $number) {
    foreach ($arr as $val) {
        if ($val>= $number && $val < $number) return $val;
    }
    return end($arr);
}
echo get_less_value($arr, $number);

?>
  • 写回答

4条回答 默认 最新

  • douba3378 2017-05-11 10:38
    关注

    Is array_filter is the method your looking for. I guess there are enough ways to do this :)

    $array = [0, 15, 60, 120, 2200];
    $number = 15;
    $filtered = array_filter($array, function($element) use ($number) {
       return ($element <= $number);
    });
    // $filtered = [0, 15];
    
    $max = max($filtered); //15
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?