<?php
$input='46.99';
$floor=floor($input);
$tens=round($input,-1);
echo $floor.' '.$tens."\n";
function getClosest($search, $arr) {
$closest = null;
foreach($arr as $item) {
if($closest == null || abs($search - $closest) > abs($item - $search)) {
$closest = $item;
}
}
return $closest;
}
function roundToValues( $search, array $arr ) {
$differences = array();
foreach( $arr as $item) {
$differences[ $item ] = abs($item - $search);
}
return array_search(min($differences), $differences);
}
$array = [
'0',
'20' => '0-20',
'50' => '20-50',
'100' => '50-100',
'200' => '100-200',
'500' => '200-500',
];
print_r($array);
echo getClosest($input,$array);
echo roundToValues($input,$array);
preferences:
36.08 ms | 402 KiB | 5 Q