为了账号安全,请及时绑定邮箱和手机立即绑定

与PHP中的用户数据相比,根据范围获取数据

与PHP中的用户数据相比,根据范围获取数据

PHP
不负相思意 2021-08-28 09:00:37
这是我的数据库表:id      target_download     date1       10                  2019-06-182       20                  2019-06-183       30                  2019-06-184       40                  2019-06-18  如果假设用户下载 = 15,它将在10 到 19 范围内计数并获得第一行 id = 1如果假设用户下载 = 25,它将在20 到 29 范围内计数并获得第二行 id = 2所以根据用户下载和范围获取数据。我想你明白我的问题。我试试这个:$=i;foreach ($datas as $key=>$val){    if($datas[$i]['targer_download'] >= $user_download && $datas[$i+1]['targer_download'] < $user_download){    }}
查看完整描述

1 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

尝试这个


$data[]['target_download'] = 10;

$data[]['target_download'] = 20;

$data[]['target_download'] = 30;

$data[]['target_download'] = 40;

$user_download = 15;

foreach($data as $key => $val) {

   if($user_download >= $val['target_download'] && $user_download < $data[++$key]['target_download']) {      

    //Do your stuff

    echo "Range is ".$val['target_download'];

  }

}

我假设您将使用数字数组从数据库获取数据。


编辑 其他解决方案


    $arr = array(10, 20, 30, 40);

    function getClosest($search, $arr) {

       $a = null;

       foreach ($arr as $i) {

          $a = $search >= $i ? $i : $a;

       }

       return $a===null ? 0:$a;

    }


    echo $v = getClosest(15, $arr);


查看完整回答
反对 回复 2021-08-28
  • 1 回答
  • 0 关注
  • 109 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信