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 正则表达式小结
Aug 31 PHP
linux iconv方法的使用
Oct 01 PHP
解析使用substr截取UTF-8中文字符串出现乱码的问题
Jun 20 PHP
php curl基本操作详解
Jul 23 PHP
Yii使用Captcha验证码的方法
Dec 28 PHP
PHP实现伪静态方法汇总
Jan 13 PHP
CodeIgniter常用知识点小结
May 26 PHP
PHP去除字符串最后一个字符的三种方法实例
Mar 01 PHP
Thinkphp5+uploadify实现的文件上传功能示例
May 26 PHP
php多进程模拟并发事务产生的问题小结
Dec 07 PHP
Laravel5.1 框架控制器基础用法实例分析
Jan 04 PHP
详解阿里云视频直播PHP-SDK接入教程
Jul 09 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制作静态网站的模板框架
2006/10/09 PHP
php IP及IP段进行访问限制的代码
2008/12/17 PHP
10个实用的PHP正则表达式汇总
2014/10/23 PHP
浅析php适配器模式(Adapter)
2014/11/25 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
2016/05/20 PHP
jquery.validate分组验证代码
2011/03/17 Javascript
js下拉框二级关联菜单效果代码具体实现
2013/08/03 Javascript
AngularJS初始化过程分析(引导程序)
2014/12/06 Javascript
jQuery中on()方法用法实例
2015/01/19 Javascript
JavaScript将一个数组插入到另一个数组的方法
2015/03/19 Javascript
jQuery自定义数值抽奖活动代码
2016/06/11 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
2016/07/28 Javascript
jQuery点击头像上传并预览图片
2017/02/23 Javascript
微信小程序 跳转传递数据的实例
2017/07/06 Javascript
详解如何实现一个简单的 vuex
2018/02/10 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
微信小程序基于高德地图查找位置并显示文字
2019/10/30 Javascript
使用vue-router切换页面时实现设置过渡动画
2019/10/31 Javascript
微信小程序自定义tabBar的踩坑实践记录
2020/11/06 Javascript
详解JavaScript中的链式调用
2020/11/27 Javascript
[08:42]DOTA2每周TOP10 精彩击杀集锦vol.2
2014/06/25 DOTA
Python NumPy库安装使用笔记
2015/05/18 Python
Python+微信接口实现运维报警
2016/08/27 Python
python获取指定日期范围内的每一天,每个月,每季度的方法
2019/08/08 Python
python使用正则来处理各种匹配问题
2019/12/22 Python
Python列表嵌套常见坑点及解决方案
2020/09/30 Python
开朗女孩的自我评价
2014/02/10 职场文书
项目经理聘任书
2014/03/29 职场文书
高中生班主任评语
2014/04/25 职场文书
教师业务培训方案
2014/05/01 职场文书
和睦家庭事迹
2014/05/14 职场文书
农民工预备党员思想汇报
2014/09/14 职场文书
无房证明范本
2014/09/17 职场文书
完美处理python与anaconda环境变量的冲突问题
2021/04/07 Python
通过Python把学姐照片做成拼图游戏
2022/02/15 Python