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
攻克CakePHP系列三 表单数据增删改
Oct 22 PHP
一个简单php扩展介绍与开发教程
Aug 19 PHP
Session服务器配置指南与使用经验的深入解析
Jun 17 PHP
php限制ip地址范围的方法
Mar 31 PHP
php获取文件后缀的9种方法
Mar 22 PHP
PHP Header用于页面跳转时的几个注意事项
Oct 21 PHP
php根据用户名和手机号查询是否存在手机号码
Feb 16 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
Oct 23 PHP
PHP下载文件函数与用法示例
Sep 27 PHP
关于Laravel参数验证的一些疑与惑
Nov 19 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
Jan 02 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 抓取网页图片并且另存为的实现代码
2010/03/24 PHP
php存储过程调用实例代码
2013/02/03 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
2014/05/08 PHP
PHP 返回13位时间戳的实现代码
2016/05/13 PHP
基于php判断客户端类型
2016/10/14 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
2017/01/19 PHP
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
2010/05/10 Javascript
js下将字符串当函数执行的方法
2011/07/13 Javascript
IFrame跨域高度自适应实现代码
2012/08/16 Javascript
解析jquery获取父窗口的元素
2013/06/26 Javascript
处理文本部分内容的TextRange对象应用实例
2014/07/29 Javascript
浅谈JavaScript中定义变量时有无var声明的区别
2014/08/18 Javascript
有效提高JavaScript执行效率的几点知识
2015/01/31 Javascript
javascript实现根据时间段显示问候语的方法
2015/06/18 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
解决Vue2.0自带浏览器里无法打开的原因(兼容处理)
2017/07/28 Javascript
浅谈AngularJS中使用$resource(已更新)
2017/09/14 Javascript
Vue 嵌套路由使用总结(推荐)
2020/01/13 Javascript
[04:09]2014DOTA2国际邀请赛Ti西雅图 历届冠军相继出局 BBC综述今日比赛
2014/07/20 DOTA
Python网络编程之TCP套接字简单用法示例
2018/04/09 Python
对python中xlsx,csv以及json文件的相互转化方法详解
2018/12/25 Python
使用 Python 玩转 GitHub 的贡献板(推荐)
2019/04/04 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
2019/04/18 Python
Python 占位符的使用方法详解
2019/07/10 Python
Django之使用celery和NGINX生成静态页面实现性能优化
2019/10/08 Python
用python实现名片管理系统
2020/06/18 Python
Python爬虫进阶之爬取某视频并下载的实现
2020/12/08 Python
python中把元组转换为namedtuple方法
2020/12/09 Python
浅析CSS3中鲜为人知的属性:-webkit-tap-highlight-color
2017/01/12 HTML / CSS
Calzedonia美国官网:意大利风格袜子、打底裤和沙滩装
2018/07/19 全球购物
Ooni英国官网:披萨烤箱
2020/05/31 全球购物
兼职业务员岗位职责
2014/01/01 职场文书
个人优缺点自我评价
2014/01/27 职场文书
教育专业毕业生推荐信
2014/07/10 职场文书
教你快速构建一个基于nginx的web集群项目
2021/11/27 Servers