Здравствуйте. -- Я немного затупил, есть массив: Код (Text): $arr=array(1.5, 2.3,6,5,1.1,10); нужно выбрать значения между 2 и 6 допустим. Сначала массив сортируем, а вот дальше...
Отсортировать можно потом. Создайте новый массив, а из старого, в цикле, извлеките в новый только то, что подходит под условие PHP: foreach($arr as $value) { if($value > 2 && $value < 6) $new_arr[] = $value; }
эээ.... извини, я не хотел откусить от твоего триумфа ))) просто функция создана специально для подобных случаев. ты будешь удивлен, если проведешь замеры.
Замеряли. Был в твоем амплуа. Процентов пять вроде выигрыш. Правда версия тогда то ли 5.1, то ли 5.2 была
Нет брат, в моём амплуа ты врядли был. Использование array_filter и других подобных даёт минимальный оверхед за счет необходимости вызова callback. Да он имеет свою цену. Но относительная стоимость этой нагрузки будет падать по мере увеличения числа итераций и роста сложности вычислений внутри самого callback. Так что итоговый прирост времени может быть вообще незаметен. Читабельность кода и гибкость решений значат гораздо больше этой микро-экономии. Сейчас с появлением "стрелочных функций" код вообще может быть восхитительно прост: PHP: $dest = array_filter($source, fn($x) => $x > 2 && $x < 6);
Недавно наблюдал функцию, которая возвращает точное время числом, разделяя вывод функции microtime() по пробелу, а потом добавляя два числа. Это я к тому, что используйте стандартные решения.