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魔术方法与魔术变量、内置方法与内置变量的深入分析
Jun 03 PHP
深入Nginx + PHP 缓存详解
Jul 11 PHP
关于php内存不够用的快速解决方法
Oct 26 PHP
PHP对接微信公众平台消息接口开发流程教程
Mar 25 PHP
php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
Apr 03 PHP
PHP中static关键字以及与self关键字的区别
Jul 01 PHP
yii用户注册表单验证实例
Dec 26 PHP
制作个性化的WordPress登陆界面的实例教程
May 21 PHP
Yii2基于Ajax自动获取表单数据的方法
Aug 10 PHP
PHP构造二叉树算法示例
Jun 21 PHP
PHP回调函数与匿名函数实例详解
Aug 16 PHP
php实现微信企业转账功能
Oct 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实现用户认证及管理完全源码
2007/03/11 PHP
php二维数组排序详解
2013/11/06 PHP
Smarty中常用变量操作符汇总
2014/10/27 PHP
PHP面向对象精要总结
2014/11/07 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
thinkphp分页实现效果
2016/10/13 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
2017/08/04 PHP
jQuery Ajax文件上传(php)
2009/06/16 Javascript
jQuery+.net实现浏览更多内容(改编php版本)
2013/03/28 Javascript
一个不错的js html页面倒计时可精确到秒
2014/10/22 Javascript
jquery dataview数据视图插件使用方法
2016/12/23 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
2017/01/30 Javascript
利用Ionic2 + angular4实现一个地区选择组件
2017/07/27 Javascript
Vue ElementUI之Form表单验证遇到的问题
2017/08/21 Javascript
swiper自定义分页器使用方法详解
2020/09/14 Javascript
angular5 子组件监听父组件传入值的变化方法
2018/09/30 Javascript
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
2018/10/24 Javascript
了解javascript中变量及函数的提升
2019/05/27 Javascript
浅谈在vue-cli3项目中解决动态引入图片img404的问题
2020/08/04 Javascript
py中的目录与文件判别代码
2008/07/16 Python
JavaScript实现一维数组转化为二维数组
2018/04/17 Python
什么是Python变量作用域
2020/06/03 Python
如何将json数据转换为python数据
2020/09/04 Python
python Tornado框架的使用示例
2020/10/19 Python
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
HTML5 实战PHP之Web页面表单设计
2011/10/09 HTML / CSS
马来西亚最好的婴儿商店:Motherhood
2017/09/14 全球购物
Made in Design德国:设计师家具、灯具和装饰
2019/10/31 全球购物
请介绍一下Ant
2016/07/22 面试题
大学生怎样写好自荐信
2014/02/25 职场文书
行政介绍信范文
2015/05/04 职场文书
乔布斯辞职信(中英文对照)
2015/05/12 职场文书
一百条裙子读书笔记
2015/07/01 职场文书
创业计划书之o2o水果店
2019/08/30 职场文书
python 爬取华为应用市场评论
2021/05/29 Python
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
2021/11/11 Python