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

时间:2018-09-05 19:40:58

标签: php arrays

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

我想返回未通过特定数字的值。

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

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

如果数字为$number = 20;,则仅返回20。

我该怎么做?

编辑:很抱歉不包含示例代码...这是我认为的一个简单问题。

基本上,这可以通过以下可接受的答案解决。

2 个答案:

答案 0 :(得分:4)

您可以首先rsort数组,然后循环直到该值小于或等于您指定的值,然后再break退出循环,因为不再需要继续。

<div class="container">
    <div class="img-container">
        <img class="thumbnail" src="https://via.placeholder.com/250x250" />
        <div classe="img-icon-container">
            <i class="photo-icon fas fa-camera-retro" />
            <span>10</span>
        </div>
    </div>
</div>


.container{
  height: 200px;
  display: flex;
  margin-bottom: 20px;
  .img-container {
    position: relative;
    .thumbnail {
      height: 100%;
    }
    .img-icon-container {
      position: absolute;
      bottom: 0;
      width: 100%;
      left: 0;
      background-color: rgba(110, 110, 110, 0.8);
      i {
        margin-left: 5px;
        margin-right: 5px;
        font-size: 20px;
        color: white;
      }
      &:hover {
        background-color: blue;
      }
    }
  }
}

Demo

答案 1 :(得分:1)

遍历数组中的每个项目,对于每个低于数字的项目,请使用该数字替换变量。

    $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;
    }
}