簡體   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