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中判断一个字符串包含另一个字符串的方法
Mar 19 PHP
Views rows style模板重写代码
May 16 PHP
PHP 命令行参数详解及应用
May 18 PHP
php生成缩略图填充白边(等比缩略图方案)
Dec 25 PHP
PHP生成自定义长度随机字符串的函数分享
May 04 PHP
用 Composer构建自己的 PHP 框架之使用 ORM
Oct 30 PHP
php+ajax实现无刷新动态加载数据技术
Apr 28 PHP
隐性调用php程序的方法
Jun 13 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
Jul 10 PHP
thinkphp3.x中变量的获取和过滤方法详解
May 20 PHP
PHP PDOStatement::rowCount讲解
Feb 01 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
Oct 08 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 输出缓存详解
2009/06/20 PHP
PHP 缓存实现代码及详细注释
2010/05/16 PHP
cakephp打印sql语句的方法
2015/02/13 PHP
PHP页面转UTF-8中文编码乱码的解决办法
2015/10/20 PHP
php设计模式之职责链模式定义与用法经典示例
2019/09/19 PHP
filemanage功能中用到的lib.js
2007/04/08 Javascript
JavaScript访问样式表代码
2010/10/15 Javascript
js jquery数组介绍
2012/07/15 Javascript
关于IE BUG与字符串截取substr的解决办法
2013/04/10 Javascript
FireBug 调试JS入门教程 如何调试JS
2013/12/23 Javascript
jquery实现对联广告的方法
2015/02/05 Javascript
javascript转换日期字符串为Date日期对象的方法
2015/02/13 Javascript
常用的Javascript设计模式小结
2015/12/09 Javascript
JQuery为元素添加样式的实现方法
2016/07/20 Javascript
canvas 绘制圆形时钟
2017/02/22 Javascript
详解Vue中过度动画效果应用
2017/05/25 Javascript
分析JavaScript数组操作难点
2017/12/18 Javascript
React props和state属性的具体使用方法
2018/04/12 Javascript
微信小程序实现弹出菜单功能
2018/06/12 Javascript
jQuery实现表单动态添加与删除数据操作示例
2018/07/03 jQuery
Vue登录注册并保持登录状态的方法
2018/08/17 Javascript
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
JavaScript学习笔记之基于定时器实现图片无缝滚动功能详解
2019/01/09 Javascript
20招让你的Python飞起来!
2016/09/27 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
关于ZeroMQ 三种模式python3实现方式
2019/12/23 Python
html5调用摄像头功能的实现代码
2018/05/07 HTML / CSS
HTML5 Canvas自定义圆角矩形与虚线示例代码
2013/08/02 HTML / CSS
Expedia爱尔兰:酒店、机票、租车及廉价假期
2017/01/02 全球购物
美国全球旅游运营商:Pacific Holidays
2018/06/18 全球购物
班组长竞聘书
2014/03/31 职场文书
就职演讲稿范文
2014/05/19 职场文书
运动会口号16字
2014/06/07 职场文书
2016年学习雷锋精神广播稿
2015/12/17 职场文书
导游词之广西漓江
2019/11/02 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js