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 07 PHP
PHP 透明水印生成代码
Aug 27 PHP
php实现快速排序的三种方法分享
Mar 12 PHP
php+js iframe实现上传头像界面无跳转
Apr 29 PHP
destoon实现资讯信息前面调用它所属分类的方法
Jul 15 PHP
跟我学Laravel之配置Laravel
Oct 15 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
Nov 05 PHP
php脚本运行时的超时机制详解
Feb 17 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
May 20 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
Aug 07 PHP
PHP闭包定义与使用简单示例
Apr 13 PHP
微信公众号之主动给用户发送消息功能
Jun 22 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
东芝TOSHIBA RP-F11电路分析
2021/03/02 无线电
php.ini中文版
2006/10/09 PHP
用PHP发电子邮件
2006/10/09 PHP
PHP 翻页 实例代码
2009/08/07 PHP
使ecshop模板中可引用常量的实现方法
2011/06/02 PHP
PHP中使用mktime获取时间戳的一个黑色幽默分析
2012/05/31 PHP
PHP中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
js加解密 脚本解密
2008/02/22 Javascript
js控制框架刷新
2008/08/01 Javascript
ASP.NET jQuery 实例13 原创jQuery文本框字符限制插件-TextArea Counter
2012/02/03 Javascript
$.getJSON在IE下失效的原因分析及解决方法
2013/06/16 Javascript
js实现瀑布流的一种简单方法实例分享
2013/11/04 Javascript
jQuery实现购物车多物品数量的加减+总价计算
2014/06/06 Javascript
jQuery分组选择器用法实例
2014/12/23 Javascript
javascript实现点击单选按钮链接转向对应网址的方法
2015/08/12 Javascript
JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
2015/10/26 Javascript
javascript HTML+CSS实现经典橙色导航菜单
2016/02/16 Javascript
第十章之巨幕页头缩略图与警告框组件
2016/04/25 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
2016/05/09 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
2017/05/02 Javascript
JavaScript中递归实现的方法及其区别
2017/09/12 Javascript
[43:41]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
Python解释执行原理分析
2014/08/22 Python
Python小工具之消耗系统指定大小内存的方法
2018/12/03 Python
python 获取url中的参数列表实例
2018/12/18 Python
python调用自定义函数的实例操作
2019/06/26 Python
简单了解python 邮件模块的使用方法
2019/07/24 Python
Python模拟键盘输入自动登录TGP
2020/11/27 Python
eVitamins日本:在线购买折扣维生素、补品和草药
2019/04/04 全球购物
经典优秀个人求职信分享
2013/12/12 职场文书
高中的职业生涯规划书
2013/12/28 职场文书
学校扫黄打非工作总结
2015/10/15 职场文书
接触艺术对孩子学习思维有益
2019/08/06 职场文书
elasticSearch-api的具体操作步骤讲解
2021/06/28 Java/Android
Android实现图片九宫格
2022/06/28 Java/Android