<?php
1 => '215070121',
5 => '215001216',
12 => '215050121',
21 => '215010127',
50 => '215080122'
);
function getClosest($search, $arr) {
$closest = null;
foreach ($arr as $price => $id) {
if ($closest === null || abs($search - $closest) > abs($price - $search)) { $closest = $price;
}
}
return $arr[$closest];
}
echo getClosest(10, $list);
PD9waHAKCiRsaXN0ID0gYXJyYXkgKAoJMQk9PiAnMjE1MDcwMTIxJywKCTUJPT4gJzIxNTAwMTIxNicsCgkxMgk9PiAnMjE1MDUwMTIxJywKCTIxCT0+ICcyMTUwMTAxMjcnLAoJNTAJPT4gJzIxNTA4MDEyMicKKTsKCmZ1bmN0aW9uIGdldENsb3Nlc3QoJHNlYXJjaCwgJGFycikgewogICAkY2xvc2VzdCA9IG51bGw7CiAgIGZvcmVhY2ggKCRhcnIgYXMgJHByaWNlID0+ICRpZCkgewogICAgICBpZiAoJGNsb3Nlc3QgPT09IG51bGwgfHwgYWJzKCRzZWFyY2ggLSAkY2xvc2VzdCkgPiBhYnMoJHByaWNlIC0gJHNlYXJjaCkpIHsKICAgICAgICAgJGNsb3Nlc3QgPSAkcHJpY2U7CiAgICAgIH0KICAgfQogICByZXR1cm4gJGFyclskY2xvc2VzdF07Cn0KCmVjaG8gZ2V0Q2xvc2VzdCgxMCwgJGxpc3QpOw==