php获取指定范围内最接近数的方法

本文实例讲述了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程序设计有所帮助。

(0)

相关推荐

  • php限制ip地址范围的方法

    本文实例讲述了php限制ip地址范围的方法.分享给大家供大家参考.具体如下: 只有在限定范围内的ip地址才能访问 function get_real_ipaddress() { if (!empty($_SERVER['HTTP_CLIENT_IP'])) { return $_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { return $_SERVER['HTTP_X_FORWAR

  • php获取访问者IP地址汇总

    //方法1: $ip = $_SERVER["REMOTE_ADDR"]; echo $ip; //方法2: 复制代码 代码如下: $user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"]; $user_IP = ($user_IP) ? $user_IP : $_SERVER["REM

  • php获取网页里所有图片并存入数组的方法

    本文实例讲述了php获取网页里所有图片并存入数组的方法.分享给大家供大家参考.具体如下: $images = array(); preg_match_all('/(img|src)=("|')[^"'>]+/i', $data, $media); unset($data); $data=preg_replace('/(img|src)("|'|="|=')(.*)/i',"$3",$media[0]); foreach($data as $

  • PHP获取数组最大值下标的方法

    本文实例讲述了PHP获取数组最大值下标的方法.分享给大家供大家参考.具体实现方法如下: <?php $hots = array('8213'=> 0,'8212'=> 100,'8172'=> 10008); $key = array_search(max($hots),$hots); echo $key; ?> 运行结果为:8172 希望本文所述对大家的php程序设计有所帮助.

  • php获取本周星期一具体日期的方法

    本文实例讲述了php获取本周星期一具体日期的方法.分享给大家供大家参考.具体如下: private function mondayTime($timestamp=0,$is_return_timestamp=true){ static $cache ; $id = $timestamp.$is_return_timestamp; if(!isset($cache[$id])){ if(!$timestamp) $timestamp = time(); $monday_date = date('Y

  • PHP通过API获取手机号码归属地

    该API接口自 2011年 SAE平台上线稳定运行至今,增加了17号段的支持,欢迎各种采集注限制 并发10 详细使用说明 接口地址:http://appyun.sinaapp.com/index.php?app=mobile&controller=index&action=api 请求方法:GET 请求参数: 参数名 类型 必填 参数位置 描述 默认值 app string 是 urlParam 模块名称(不变) mobile controller string 是 urlParam 控制

  • php获取网页上所有链接的方法

    本文实例讲述了php取得网页上所有链接的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php function get_all_url($code){     preg_match_all('/<as+href=["|']?([^>"' ]+)["|']?s*[^>]*>([^>]+)</a>/i',$code,$arr);     return array('name'=>$arr[2],'u

  • php找出指定范围内回文数且平方根也是回文数的方法

    本文实例讲述了php找出指定范围内回文数且平方根也是回文数的方法.分享给大家供大家参考.具体如下: 一.要求: 给出两个数值X和Y,统计在这个区间里的回文数,并且要求它们的平方根也是回文数.其中 1<= x <= y < 10 14 二.解决方法: <?php error_reporting(E_ALL); ini_set("display_errors", 1); //避免超时 set_time_limit(0); $t1=microtime(); funct

  • PHP获取毫秒级时间戳的方法

    本文实例讲述了PHP获取毫秒级时间戳的方法.分享给大家供大家参考.具体分析如下: PHP本身没有提供获取毫秒级时间戳的函数,java里面可以通过gettime();获取.如果是要与java写的某些程序进行高精度的毫秒级的对接通信,则需要使用PHP输出毫秒级的时间.之前我采取的方法是采用不精准的方式,也就是在PHP原生的时间函数后面加上一个三位数字构成.为获取更为精准的毫秒级时间戳可以使用下面的代码: <?php function getMillisecond() { list($t1, $t2)

  • php获取指定范围内最接近数的方法

    本文实例讲述了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; } // Retu

  • python获取指定时间段内特定规律的日期列表

    前言:写小程序时,遇到个需要自定义回归时间的场景,下面是实现的效果图. 于我需求而言,我只需要用到fixed_interval.weekly.per_month三个方法返回的回归间隔列表就行,最后的这个make_date_from_list方法,是为了能在这里展示效果 TIP:没有做异常处理,以及时间格式化之类的.这里只是抛砖引玉给个原型砖头出来. 实现代码: class GetStrategyDedail: today = datetime.date.today() def __init__(

  • JavaScript获取表单内所有元素值的方法

    本文实例讲述了JavaScript获取表单内所有元素值的方法.分享给大家供大家参考.具体如下: 下面的JS代码可以遍历指定表单中的所有元素,并输出元素的值 <!DOCTYPE html> <html> <body> <form id="frm1" action="form_action.aspx"> First name: <input type="text" name="fname

  • PHP获取指定日期是星期几的实现方法

    本文实例讲述了PHP获取指定日期是星期几的实现方法.分享给大家供大家参考,具体如下: <?php header("Content-type: text/html; charset=utf-8"); //获取星期方法 function get_week($date){ //强制转换日期格式 $date_str=date('Y-m-d',strtotime($date)); //封装成数组 $arr=explode("-", $date_str); //参数赋值

  • python获取指定目录下所有文件名列表的方法

    本文实例讲述了python获取指定目录下所有文件名列表的方法.分享给大家供大家参考.具体实现方法如下: 这里python代码实现获取文件名列表的功能,可以指定文件中包含的字符,方便提取特定类型的文件名列表: # -*- coding: utf-8 -*- #~ #------------------------------------------------------------------ #~ module:wlab #~ Filename:wgetfilelist.py #~ Funct

  • Codeigniter框架实现获取分页数据和总条数的方法

    本文实例讲述了Codeigniter框架实现获取分页数据和总条数的方法.分享给大家供大家参考.具体实现方法如下: 一般在数据分页的时候需要获取当前页的数据和总条数,一般人是在model中封装两个函数分别获取当前页的数据和数据总条数,业务逻辑类似,感觉有点冗余,可以封装在一起 复制代码 代码如下: /** * 获取分页数据及总条数 * @param string @tablename 表名 * @param mixed $where 条件 * @param int $limit 每页条数 * @p

  • mysql获取group by总记录行数的方法

    本文实例讲述了mysql获取group by总记录行数的方法,分享给大家供大家参考.具体方法分析如下: 一般来说,mysql获取group by内部可以获取到某字段的记录分组统计总数,而无法统计出分组的记录数. mysql中可以使用SQL_CALC_FOUND_ROWS来获取查询的行数,在很多分页的程序中都这样写: 复制代码 代码如下: SELECT COUNT(*) from `table` WHERE ......; 查出符合条件的记录总数: 复制代码 代码如下: SELECT * FROM

  • JS 获取HTML标签内的子节点的方法

    子节点的个数: document.getElementById("id").childNodes.length 注意: 标签开/闭合算2个节点 第几个子几点: document.getElementById("id").childNodes[n] 示例: 这里是 length-4 处,margin-left:20px 输出:length=8 实例: <div id="page_kx" style="text-align: cent

  • PHP获取指定月份第一天和最后一天的方法

    本文实例讲述了PHP获取指定月份第一天和最后一天的方法.分享给大家供大家参考.具体如下: 复制代码 代码如下: $date = date(time()); $start_date = date('Y-m-d', mktime(00, 00, 00, date('m', strtotime($date))+1, 01)); $end_date = date('Y-m-d', mktime(23, 59, 59, date('m', strtotime($date))+2, 00)); 希望本文所述

随机推荐