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文件下载类
Dec 06 PHP
简单采集了yahoo的一些数据
Feb 14 PHP
jq的get传参数在utf-8中乱码问题的解决php版
Jul 23 PHP
php的字符串用法小结
Jun 08 PHP
PHP 函数执行效率的小比较
Oct 17 PHP
php数组去重的函数代码
Feb 03 PHP
PHP代码审核的详细介绍
Jun 13 PHP
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
Jun 29 PHP
php数组合并array_merge()函数使用注意事项
Jun 19 PHP
php遍历数组的4种方法总结
Jul 05 PHP
php使用google地图应用实例
Dec 31 PHP
PHP面向对象程序设计实例分析
Jan 26 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
mysql总结之explain
2012/02/27 PHP
PHP连接MySQL查询结果中文显示乱码解决方法
2013/10/25 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
2013/11/07 PHP
Yii2.0框架behaviors方法使用实例分析
2019/09/30 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
JavaScript延迟加载
2021/03/09 Javascript
js post方式传递提交的实现代码
2010/05/31 Javascript
javascript 基础篇4 window对象,DOM
2012/03/14 Javascript
JSP跨iframe如何传递参数实现代码
2013/09/21 Javascript
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
2013/12/13 Javascript
HTML5+setCutomValidity()函数验证表单实例分享
2015/04/24 Javascript
JSON简介以及用法汇总
2016/02/21 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
2016/05/15 Javascript
AngularJS ng-app 指令实例详解
2016/07/30 Javascript
javascript中apply/call和bind的使用
2017/02/15 Javascript
Vue Router去掉url中默认的锚点#
2018/08/01 Javascript
Python中的下划线详解
2015/06/24 Python
对Python进行数据分析_关于Package的安装问题
2017/05/22 Python
python进程管理工具supervisor的安装与使用教程
2017/09/05 Python
Python文本文件的合并操作方法代码实例
2020/03/31 Python
解决使用python print打印函数返回值多一个None的问题
2020/04/09 Python
解决jupyter运行pyqt代码内核重启的问题
2020/04/16 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
英国皇家造币厂:The Royal Mint
2018/10/05 全球购物
三星俄罗斯授权在线商店:Samsung俄罗斯
2019/09/28 全球购物
酒店管理毕业生自荐信
2013/10/24 职场文书
2014年十一国庆向国旗敬礼寄语
2014/04/11 职场文书
群众路线领导对照材料
2014/08/23 职场文书
干部个人对照检查材料
2014/08/25 职场文书
民族团结演讲稿范文
2014/08/27 职场文书
机关干部四风问题自查报告及整改措施
2014/10/26 职场文书
避暑山庄导游词
2015/02/04 职场文书
2015年乡镇民政工作总结
2015/05/13 职场文书
师范生见习自我总结
2015/06/23 职场文书
python 利用 PIL 将数组值转成图片的实现
2021/04/12 Python
解决golang在import自己的包报错的问题
2021/04/29 Golang