Php Nearest Match
Posted on November 15, 2019, 1:09 pm, by admin, under
php.
function getNearestMatch($number, $candidates) {
$candidates = is_array($candidates) ? $candidates : array($candidates);
$size = count($candidates);
if ($size > 0) {
//absolute difference between 0th element and input value
$diff = abs($candidates[0] - $number);
//element closest to input value
$ret = $candidates[0];
//loop through the rest of the array
for ($i = 1; $i < $size; $i++) {
$temp = abs($candidates[$i] - $number);
if ($temp < $diff) {
//set new difference and closest element
$diff = $temp;
$ret = $candidates[$i];
}
}
return $ret;
} else {
return NULL;
}
} |