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中动态HTML的输出技术
Oct 09 PHP
PHP+JS无限级可伸缩菜单详解(简单易懂)
Jan 02 PHP
php异常处理技术,顶级异常处理器
Jun 13 PHP
探讨GDFONTPATH能否被winxp下的php支持
Jun 21 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
Feb 18 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
Oct 21 PHP
PHP strip_tags保留多个HTML标签的方法
May 22 PHP
ThinkPHP开发--使用七牛云储存
Sep 14 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
Laravel框架实现调用百度翻译API功能示例
May 30 PHP
gearman中任务的优先级和返回状态实例分析
Feb 27 PHP
详解PHP服务器如何在有限的资源里最大提升并发能力
May 25 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 strcmp使用说明
2010/04/22 PHP
php 广告调用类代码(支持Flash调用)
2011/08/11 PHP
php天翼开放平台短信发送接口实现方法
2014/12/22 PHP
PHP实现小偷程序实例
2016/10/31 PHP
laravel orm 关联条件查询代码
2019/10/21 PHP
javascript列表框操作函数集合汇总
2013/11/28 Javascript
JQuery给网页更换皮肤的方法
2015/05/30 Javascript
jQuery mobile的header和footer在点击屏幕的时候消失的解决办法
2016/07/01 Javascript
node.js操作mysql简单实例
2017/05/25 Javascript
vue子组件使用自定义事件向父组件传递数据
2017/05/27 Javascript
谈谈对vue响应式数据更新的误解
2017/08/01 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
2017/08/08 jQuery
微信小程序实现发红包功能
2018/07/11 Javascript
node.js的http.createServer过程深入解析
2019/06/06 Javascript
Layui实现主窗口和Iframe层参数传递
2019/11/14 Javascript
ElementUI Tree 树形控件的使用并给节点添加图标
2020/02/27 Javascript
jQuery实现视频展示效果
2020/05/30 jQuery
[10:18]2018DOTA2国际邀请赛寻真——Fnatic能否笑到最后?
2018/08/14 DOTA
python操作gmail实例
2015/01/14 Python
深入理解Python中装饰器的用法
2016/06/28 Python
Python实现的简单排列组合算法示例
2018/07/04 Python
python打印9宫格、25宫格等奇数格 满足横竖斜相加和相等
2019/07/19 Python
Python pip install如何修改默认下载路径
2020/04/29 Python
pycharm 2020.2.4 pip install Flask 报错 Error:Non-zero exit code的问题
2020/12/04 Python
Europcar意大利:汽车租赁
2019/07/07 全球购物
娱乐地球:Entertainment Earth
2020/01/08 全球购物
毕业生写求职信的要点
2014/03/04 职场文书
团代会主持词
2014/04/02 职场文书
作风建设年度心得体会
2014/10/29 职场文书
2014年信访维稳工作总结
2014/12/08 职场文书
写给领导的感谢信
2015/01/22 职场文书
交通事故起诉书
2015/05/19 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)
2021/07/01 HTML / CSS
浅谈如何保证Mysql主从一致
2022/03/13 MySQL
PostgreSQL逻辑复制解密原理解析
2022/09/23 PostgreSQL