首頁 >後端開發 >PHP問題 >php怎麼查詢最接近一個數

php怎麼查詢最接近一個數

藏色散人
藏色散人原創
2022-10-27 09:47:161504瀏覽

php查詢最接近一個數字的方法:1、建立一個PHP範例檔案;2、透過「function NextRelatedNumber($number, $range){...}」方法取得指定範圍內最接近的數即可。

php怎麼查詢最接近一個數

本教學操作環境:windows7系統、PHP8.1版、Dell G3電腦。

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 &#39;NextRelatedNumber: &#39;;
print NextRelatedNumber(44, 10) . "\n";
// returns --> 40
// 0 20 40 60 80 100 ...
print &#39;NextHigherNumber: &#39;;
print NextHigherNumber(41, 20) . "\n";
// returns --> 60
// 0 5 10 15 20 25 30 35 ...
print &#39;NextLowerNumber: &#39;;
print NextLowerNumber(57, 5) . "\n";
// returns --> 55
// Example with Array
print &#39;NextNumberArray: &#39;;
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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn