繁体   English   中英

PHP - 获取不大于下一个数组值的数组值

[英]PHP - Get array value that isnt greater than the next array value

在这个数组中: $array = array(6, 20, 50, 80, 100); ,

我想返回没有通过某个数字的值。

例如,假设我有一个数字$number = 45; . 我想从$array返回20

...如果我有一个数字$number = 99; ,我要返回80。

如果数字是$number = 20; ,只有这样它才会返回 20。

我怎样才能做到这一点?

编辑:抱歉没有包含示例代码......这是我假设的一个简单问题。

基本上这是通过下面接受的答案解决的。

你可以先rsort的数组,然后循环,直到值低于或等于那么你指定,然后将值打破循环,因为没有必要再继续。

$value = 99;
$array = array(6, 20, 50, 80, 100);
rsort($array);
$result = 0;
foreach ($array as $a) {
    if ($a <= $value) {
        $result = $a;
        break;
    }
}

echo $result; //80

演示

循环遍历数组中的每个项目,对于每个低于您的数字的项目,用该数字替换一个变量。

    $final = 0;
    foreach($array as $element) {
        if($element <= $number) {
            $final = $element;
        }
    }

如果您的数组不按顺序排列,则应该以不同的方式进行。

$final-array = array();
    foreach($array as $element) {
        if($element <= $number) {
            array_push($final-array, $element);
        }
    }
$final = 0;
foreach($final-array as $num) {
    if($num>$final) {
        $final = $num;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM