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 04 PHP
Linux下CoreSeek及PHP扩展模块的安装
Sep 23 PHP
php中count获取多维数组长度的方法
Nov 03 PHP
YII Framework教程之异常处理详解
Mar 14 PHP
php获取今日开始时间和结束时间的方法
Feb 27 PHP
PHP实现图片批量打包下载功能
Mar 01 PHP
PHP实现创建微信自定义菜单的方法示例
Jul 14 PHP
thinkphp5引入公共部分header、footer的方法详解
Sep 14 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
May 09 PHP
laravel 根据不同组织加载不同视图的实现
Oct 14 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
Dec 02 PHP
TP5框架实现的数据库备份功能示例
Apr 05 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 编写的日历
2006/10/09 PHP
PHP对象转换为数组函数(递归方法)
2012/02/04 PHP
PHP运行模式的深入理解
2013/06/03 PHP
php 微信公众平台开发模式实现多客服的实例代码
2016/11/07 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
2020/09/17 PHP
神奇的7个jQuery 3D插件整理
2011/01/06 Javascript
javascript作用域容易记错的两个地方分析
2012/06/22 Javascript
Jquery显示和隐藏元素或设为只读(含Ligerui的控件禁用,实例说明介绍)
2013/07/09 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
2014/06/13 Javascript
jquery中change()用法实例分析
2015/02/06 Javascript
浏览器兼容的JS写法总结
2016/04/27 Javascript
深入解析jQuery中Deferred的deferred.promise()方法
2016/05/03 Javascript
利用nodejs监控文件变化并使用sftp上传到服务器
2017/02/18 NodeJs
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
2017/03/06 Javascript
React进阶学习之组件的解耦之道
2017/08/07 Javascript
浅谈sass在vue注意的地方
2017/08/10 Javascript
vuejs使用axios异步访问时用get和post的实例讲解
2018/08/09 Javascript
Nodejs模块的调用操作实例分析
2018/12/25 NodeJs
详细讲解如何创建, 发布自己的 Vue UI 组件库
2019/05/29 Javascript
js实现盒子移动动画效果
2020/08/09 Javascript
详解vue之自行实现派发与广播(dispatch与broadcast)
2021/01/19 Vue.js
在Ubuntu系统下安装使用Python的GUI工具wxPython
2016/02/18 Python
修复 Django migration 时遇到的问题解决
2018/06/14 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
Python 输出详细的异常信息(traceback)方式
2020/04/08 Python
详解HTML5中的拖放事件(Drag 和 drop)
2016/11/14 HTML / CSS
大学生军训自我评价分享
2013/11/09 职场文书
医护人员英文求职信范文
2013/11/26 职场文书
医学院校毕业生自荐信范文
2014/01/01 职场文书
学生打架检讨书
2014/02/14 职场文书
计算机专业毕业生自荐信范文
2014/03/06 职场文书
软件项目实施计划书
2014/05/02 职场文书
奥运会口号
2014/06/13 职场文书
活动总结结尾怎么写
2014/08/30 职场文书
党员自我评价2015
2015/03/03 职场文书