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的配置文件php.ini
Oct 09 PHP
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
May 03 PHP
解析thinkphp中的导入文件标签
Jun 20 PHP
解析php中用PHPMailer来发送邮件的示例(126.com的例子)
Jun 24 PHP
php自动更新版权信息显示的方法
Jun 19 PHP
php实现curl模拟ftp上传的方法
Jul 29 PHP
利用PHP如何写APP接口详解
Aug 23 PHP
PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】
Oct 14 PHP
php操作access数据库的方法详解
Feb 22 PHP
PHP机器学习库php-ml的简单测试和使用方法
Jul 14 PHP
thinkPHP5框架中widget的功能与用法详解
Jun 11 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
Jan 04 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
在项目中寻找代码的坏命名
2012/07/14 PHP
解析Extjs与php数据交互(增删查改)
2013/06/25 PHP
php生成短域名函数
2015/03/23 PHP
Yii2 如何在modules中添加验证码的方法
2017/06/19 PHP
Laravel框架实现的记录SQL日志功能示例
2018/06/19 PHP
JSQL  一个 web DB 的封装
2010/05/05 Javascript
js继承的实现代码
2010/08/05 Javascript
js模拟点击以提交表单为例兼容主流浏览器
2013/11/29 Javascript
node.js中的fs.readdirSync方法使用说明
2014/12/17 Javascript
理解javascript回调函数
2014/12/28 Javascript
使用javascript实现判断当前浏览器
2015/04/14 Javascript
Angularjs手动解析表达式($parse)
2016/10/12 Javascript
Vue.js实战之通过监听滚动事件实现动态锚点
2017/04/04 Javascript
JS实现的简单标签点击切换功能示例
2017/09/21 Javascript
使用vue中的v-for遍历二维数组的方法
2018/03/07 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
用Python编写简单的定时器的方法
2015/05/02 Python
python2.6.6如何升级到python2.7.14
2018/04/08 Python
实践Vim配置python开发环境
2018/07/02 Python
Python定义二叉树及4种遍历方法实例详解
2018/07/05 Python
PyQt5使用QTimer实现电子时钟
2019/07/29 Python
Python动态声明变量赋值代码实例
2019/12/30 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
2020/02/07 Python
使用python计算三角形的斜边例子
2020/04/15 Python
Django扫码抽奖平台的配置过程详解
2021/01/14 Python
HTML5边玩边学(3)像素和颜色
2010/09/21 HTML / CSS
html5定位获取当前位置并在百度地图上显示
2014/08/22 HTML / CSS
阿里健康大药房:阿里自营网上药店
2017/08/01 全球购物
写出一个方法实现冒泡排序
2016/07/08 面试题
幼儿生日活动方案
2014/08/27 职场文书
小学师德师风演讲稿
2014/09/02 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
八达岭长城导游词
2015/01/30 职场文书
签证工作证明模板
2015/06/15 职场文书
2016年教师党员创先争优承诺书
2016/03/24 职场文书