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
多数据表共用一个页的新闻发布
Oct 09 PHP
php array_slice函数的使用以及参数详解
Aug 30 PHP
php中http与https跨域共享session的解决方法
Dec 20 PHP
PHP获取当前日期和时间及格式化方法参数
May 11 PHP
php获取json数据所有的节点路径
May 17 PHP
PHP制作用户注册系统
Oct 23 PHP
WordPress分页伪静态加html后缀
Jun 08 PHP
PHP类的特性实例分析
Sep 28 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
Aug 04 PHP
laravel config文件配置全局变量的例子
Oct 13 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 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
php5.3 废弃函数小结
2010/05/16 PHP
PHP Curl模拟登录微信公众平台、新浪微博实例代码
2016/01/28 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
thinkPHP5框架分页样式类完整示例
2018/09/01 PHP
表单的一些基本用法与技巧
2006/07/15 Javascript
a标签click和href执行顺序探讨
2014/06/23 Javascript
JS实现清除指定cookies的方法
2014/09/20 Javascript
Javascript堆排序算法详解
2014/12/03 Javascript
js密码强度检测
2016/01/07 Javascript
微信开发 微信授权详解
2016/10/21 Javascript
微信小程序 动态绑定数据及动态事件处理
2017/03/14 Javascript
AngularJS中的promise用法分析
2017/05/19 Javascript
Vue和Bootstrap的整合思路详解
2017/06/30 Javascript
js 毫秒转天时分秒的实例
2017/11/17 Javascript
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
2018/04/26 jQuery
在axios中使用params传参的时候传入数组的方法
2018/09/25 Javascript
在Vue项目中引入JQuery-ui插件的讲解
2019/01/27 jQuery
2019最新21个MySQL高频面试题介绍
2020/02/06 Javascript
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
python实现计算资源图标crc值的方法
2014/10/05 Python
Python实现监控程序执行时间并将其写入日志的方法
2015/06/30 Python
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
Python 实现选择排序的算法步骤
2018/04/22 Python
Python解析Excle文件中的数据方法
2018/10/23 Python
解决Python print输出不换行没空格的问题
2018/11/14 Python
python BlockingScheduler定时任务及其他方式的实现
2019/09/19 Python
Kears 使用:通过回调函数保存最佳准确率下的模型操作
2020/06/17 Python
python连接mysql有哪些方法
2020/06/24 Python
pytorch下的unsqueeze和squeeze的用法说明
2021/02/06 Python
Quiksilver美国官网:始于1969年的优质冲浪服和滑雪板外套
2020/04/20 全球购物
关联、聚合(Aggregation)以及组合(Composition)的区别
2012/02/29 面试题
寄语是什么意思
2014/04/10 职场文书
银行纠风工作实施方案
2014/06/08 职场文书
商务专员岗位职责范本
2014/06/29 职场文书
Python合并pdf文件的工具
2021/07/01 Python