У меня есть следующийВыбрать ближайшие большие/меньшие элементы в массиве PHP
$ а = [100, 90, 80, 70, 60, 50, 40, 30, 20, 10]
$ V = 45
мне нужен простой способ найти ближайший больший/меньшие элементы $ v в $ A
Любые мысли?
Edited
ЭТО ПОЧЕМУ Я НЕ НРАВИТСЯ МОИ МЫСЛИ
<?php
$a = [100, 90, 80, 70, 60, 50, 40, 30, 20, 10];
$v = 45;
$a[] = $v;
sort($a);
$nearestGreater = null;
$nearestLower = null;
foreach ($a as $key => $val) {
if ($val == $v) {
$nearestGreater = (isset($a[$key + 1])) ? $a[$key + 1] : $nearestGreater;
$nearestLower = (isset($a[$key - 1])) ? $a[$key - 1] : $nearestLower;
break;
}
}
var_dump($nearestGreater);
var_dump($nearestLower);
unset($a);
Эта часть дерьмовой кода шахты и работает, но мне нужно знать, если есть лучшее решение (более простой). Я был NOT родился с книгой PHP в моих руках, и я все еще учусь. Если вам не нравится мой вопрос, пропустите его. Мне не нужен ваш высокомерный ответ.
Назад к бизнесу
Любой может УЛУЧШЕНИЯ этот код, чтобы сделать его лучше работать быстрее? Предположим, что $ a - 2000000 строк из моей базы данных.
Спасибо всем.
Покажите нам ваши собственные мысли первый;) –
Дубликат http://stackoverflow.com/questions/5464919/php-nearest-value-from-an-array –
Я не» Мне нравятся мои мысли, что я прошу здесь мысли других людей. Соглашаться или не соглашаться ... Мне все равно @PatriceGahide. Так что хорошо провести день. – FranMercaes