php获取指定范围内最接近数的方法


Posted in PHP onJune 02, 2015

本文实例讲述了php获取指定范围内最接近数的方法。分享给大家供大家参考。具体实现方法如下:

// Returns the next higher or lower number
function NextRelatedNumber($number, $range){  
  $r = $number % $range;
  $f = $number - $r;
  $b = round($r / $range, 0);
  return ($b == 1) ? $f + $range : $f;  
}
// Returns the next higher number
function NextHigherNumber($number, $range){  
  $r = $number % $range;
  $f = $number - $r;
  $b = ceil($r / $range);
  return ($b == 1) ? $f + $range : $f;  
}
// Returns the next lower number
function NextLowerNumber($number, $range){  
  $r = $number % $range;
  $f = $number - $r;
  $b = floor($r / $range);
  return ($b == 1) ? $f + $range : $f;  
}
// Returns the next related number from an array
function NextNumberArray($Number, $NumberRangeArray){
  $w = 0;
  $c = -1;
  $abstand = 0;
  $l = count($NumberRangeArray);    
  for($pos=0; $pos < $l; $pos++){
    $n = $NumberRangeArray[$pos];
    $abstand = ($n < $Number) ? $Number - $n : $n - $Number;
    if ($c == -1){
      $c = $abstand;
      continue;
    }
    else if ($abstand < $c){
      $c = $abstand;
      $w = $pos;
    }
  }
  return $NumberRangeArray[$w];
}
 
// Examples
// --------
// 0 10 20 30 40 50 ...
print 'NextRelatedNumber: ';
print NextRelatedNumber(44, 10) . "\n";
// returns --> 40
// 0 20 40 60 80 100 ...
print 'NextHigherNumber: ';
print NextHigherNumber(41, 20) . "\n";
// returns --> 60
// 0 5 10 15 20 25 30 35 ...
print 'NextLowerNumber: ';
print NextLowerNumber(57, 5) . "\n";
// returns --> 55
// Example with Array
print 'NextNumberArray: ';
print NextNumberArray(45, array(3, 8, 19, 34, 56, 89)) . "\n";
// returns --> 34
// (45 is between 34 and 56 but 34 is the next)

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
phpMyAdmin链接MySql错误 个人解决方案
Dec 28 PHP
解析关于wamp启动是80端口被占用的问题
Jun 21 PHP
php实现与erlang的二进制通讯实例解析
Jul 23 PHP
PHP实现ftp上传文件示例
Aug 21 PHP
PC端微信扫码支付成功之后自动跳转php版代码
Jul 07 PHP
ThinkPHP5框架缓存查询操作分析
May 30 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
Apr 12 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
Oct 21 PHP
Laravel 在views中加载公共页面的实现代码
Oct 22 PHP
Laravel登录失败次数限制的实现方法
Aug 26 PHP
PHP7 其他修改
Mar 09 PHP
微信小程序和php的登录实现
Apr 01 PHP
PHP使用递归方式列出当前目录下所有文件的方法
Jun 02 #PHP
php使用socket post数据到其它web服务器的方法
Jun 02 #PHP
php自动给网址加上链接的方法
Jun 02 #PHP
php将字符串随机分割成不同长度数组的方法
Jun 01 #PHP
php正则preg_replace_callback函数用法实例
Jun 01 #PHP
php实现读取和写入tab分割的文件
Jun 01 #PHP
php从文件夹随机读取文件的方法
Jun 01 #PHP
You might like
discuz免激活同步登入代码修改方法(discuz同步登录)
2013/12/24 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
2016/03/21 PHP
Js 冒泡事件阻止实现代码
2013/01/27 Javascript
浅谈关于JavaScript的语言特性分析
2013/04/11 Javascript
简单掌握JavaScript中const声明常量与变量的用法
2016/05/21 Javascript
JS异步加载的三种实现方式
2017/03/16 Javascript
Angular 4依赖注入学习教程之FactoryProvider配置依赖对象(五)
2017/06/04 Javascript
NodeJs中express框架的send()方法简介
2017/06/20 NodeJs
微信小程序点击控件修改样式实例详解
2017/07/07 Javascript
微信小程序tabBar用法实例详解
2017/12/04 Javascript
JS实现的简单下拉框联动功能示例
2018/05/11 Javascript
angular4应用中输入的最小值和最大值的方法
2019/05/17 Javascript
[51:20]完美世界DOTA2联赛PWL S2 Magma vs PXG 第一场 11.28
2020/12/01 DOTA
python连接mongodb操作数据示例(mongodb数据库配置类)
2013/12/31 Python
wxPython事件驱动实例详解
2014/09/28 Python
python实现将pvr格式转换成pvr.ccz的方法
2015/04/28 Python
使用Nginx+uWsgi实现Python的Django框架站点动静分离
2016/03/21 Python
Python实现计算两个时间之间相差天数的方法
2017/05/10 Python
详解Python 序列化Serialize 和 反序列化Deserialize
2017/08/20 Python
Django 生成登陆验证码代码分享
2017/12/12 Python
python 实现对文件夹内的文件排序编号
2018/04/12 Python
python3 打印输出字典中特定的某个key的方法示例
2019/07/06 Python
如何将 awk 脚本移植到 Python
2019/12/09 Python
tensorboard显示空白的解决
2020/02/15 Python
Python中if有多个条件处理方法
2020/02/26 Python
HTML5 画布canvas使用方法
2016/03/18 HTML / CSS
美国高档百货Nordstrom的折扣店:Nordstrom Rack
2017/11/13 全球购物
Kickers鞋英国官网:男士、女士和儿童鞋
2021/03/08 全球购物
出生公证委托书
2014/04/03 职场文书
投标诚信承诺书
2014/05/26 职场文书
学校火灾防控方案
2014/06/09 职场文书
2014年幼儿园安全工作总结
2014/11/10 职场文书
最美劳动诗,致敬所有的劳动者!
2019/07/12 职场文书
python 模块重载的五种方法
2021/04/24 Python
MySQL令人大跌眼镜的隐式转换
2021/08/23 MySQL
springboot应用服务启动事件的监听实现
2022/04/06 Java/Android