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 15 PHP
php中利用post传递字符串重定向的实现代码
Apr 21 PHP
PHP中去掉字符串首尾空格的方法
May 19 PHP
PHP学习笔记之字符串编码的转换和判断
May 22 PHP
ThinkPHP登录功能的实现方法
Aug 20 PHP
html静态页面调用php文件的方法
Nov 13 PHP
php安装swoole扩展的方法
Mar 19 PHP
php实现约瑟夫问题的方法小结
Mar 23 PHP
详解js异步文件加载器
Jan 24 PHP
Laravel ORM 数据model操作教程
Oct 21 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
Jan 22 PHP
PHP7创建COOKIE和销毁COOKIE的实例方法
Feb 03 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
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
php三元运算符知识汇总
2015/07/02 PHP
php利用fsockopen GET/POST提交表单及上传文件
2017/05/22 PHP
javascript网页关键字高亮代码
2008/07/30 Javascript
jQuery 各种浏览器下获得日期区别
2008/12/22 Javascript
Mootools 1.2教程 函数
2009/09/15 Javascript
jquery获取iframe中的dom对象(两种方法)
2013/07/02 Javascript
jquery和ajax的关系详细介绍
2013/11/29 Javascript
JQuery 两种方法解决刚创建的元素遍历不到的问题
2016/04/13 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
2016/06/14 Javascript
微信小程序 页面跳转及数据传递详解
2017/03/14 Javascript
设置cookie指定时间失效(实例代码)
2017/05/28 Javascript
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
2017/10/17 Javascript
详解VueJS应用中管理用户权限
2018/02/02 Javascript
vue-cli 构建骨架屏的方法示例
2018/11/08 Javascript
js中对象与对象创建方法的各种方法
2019/02/27 Javascript
VUE脚手架的下载和配置步骤详解
2019/04/01 Javascript
[01:24:34]2014 DOTA2华西杯精英邀请赛5 24 DK VS LGD
2014/05/25 DOTA
Python中用于去除空格的三个函数的使用小结
2015/04/07 Python
pyqt 实现为长内容添加滑轮 scrollArea
2019/06/19 Python
python实现列表的排序方法分享
2019/07/01 Python
django 中QuerySet特性功能详解
2019/07/25 Python
django在保存图像的同时压缩图像示例代码详解
2020/02/11 Python
浅析matlab中imadjust函数
2020/02/27 Python
Python selenium如何打包静态网页并下载
2020/08/12 Python
利用CSS3实现文本框的清除按钮相关的一些效果
2015/06/23 HTML / CSS
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
来自世界各地的优质葡萄酒:VineShop24
2018/07/09 全球购物
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
3.15国际消费者权益日主题活动活动总结
2014/03/16 职场文书
高中国旗下的演讲稿
2014/08/28 职场文书
党风廉政建设个人总结
2015/03/06 职场文书
请客吃饭开场白
2015/06/01 职场文书
现实表现证明材料
2015/06/19 职场文书
Redis6.0搭建集群Redis-cluster的方法
2021/05/08 Redis
Jpa Specification如何实现and和or同时使用查询
2021/11/23 Java/Android