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 相关文章推荐
国内php原创论坛
Oct 09 PHP
php统计文件大小,以GB、MB、KB、B输出
May 29 PHP
php中使用DOM类读取XML文件的实现代码
Dec 14 PHP
全新的PDO数据库操作类php版(仅适用Mysql)
Jul 22 PHP
PHP中的生成XML文件的4种方法分享
Oct 06 PHP
php代码审计比较有意思的例子
May 07 PHP
PHP面向对象教程之自定义类
Jun 10 PHP
Laravel 5框架学习之用户认证
Apr 09 PHP
PHP函数实现从一个文本字符串中提取关键字的方法
Jul 01 PHP
php版微信自动登录并获取昵称的方法
Sep 23 PHP
php防止sql注入的方法详解
Feb 20 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 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
php 3行代码的分页算法(求起始页和结束页)
2009/10/21 PHP
php curl模拟post提交数据示例
2013/12/31 PHP
PHP使用Mysql事务实例解析
2014/09/08 PHP
php常见的魔术方法详解
2014/12/25 PHP
php使用curl打开https网站的方法
2015/06/17 PHP
PHP数据库处理封装类实例
2016/12/24 PHP
PHP中ajax无刷新上传图片与图片下载功能
2017/02/21 PHP
PHP实现执行外部程序的方法详解
2017/08/17 PHP
Laravel 队列使用的实现
2019/01/08 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
js如何调用qq互联api实现第三方登录
2014/03/28 Javascript
不同编码的页面表单数据乱码问题解决方法
2015/02/15 Javascript
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
推荐10 个很棒的 jQuery 特效代码
2015/10/04 Javascript
细数JavaScript 一个等号,两个等号,三个等号的区别
2016/10/09 Javascript
Vue.js组件tab实现选项卡切换
2020/03/23 Javascript
JavaScript中附件预览功能实现详解(推荐)
2017/08/15 Javascript
NodeJS收发GET和POST请求的示例代码
2017/08/25 NodeJs
Linux Centos7.2下安装nodejs&amp;npm配置全局路径的教程
2018/05/15 NodeJs
Vue自定义指令封装节流函数的方法示例
2018/07/09 Javascript
vue地址栏直接输入路由无效问题的解决
2018/11/15 Javascript
vue实现微信分享功能
2018/11/28 Javascript
浅谈Fetch 数据交互方式
2018/12/20 Javascript
vue 解除鼠标的监听事件的方法
2019/11/13 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
[11:27]《一刀刀一天》之DOTA全时刻20:TI4总奖金突破920W TS赛事分析
2014/06/18 DOTA
python脚本设置超时机制系统时间的方法
2016/02/21 Python
Python异常处理操作实例详解
2018/08/28 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
浅谈Django中view对数据库的调用方法
2019/07/18 Python
python定间隔取点(np.linspace)的实现
2019/11/27 Python
分享30个新鲜的CSS3打造的精美绚丽效果(附演示下载)
2012/12/28 HTML / CSS
canvas裁剪clip()函数的具体使用
2018/03/01 HTML / CSS
国外的一些J2EE面试题一
2012/10/13 面试题
蟋蟀的住宅教学反思
2014/04/26 职场文书
房屋租赁协议书
2014/10/18 职场文书