Олег Максименко

Олег Максименко

Был в сети 02 апреля 2019, 10:54
Заказы не принимаю
А если вместо
$ids_flip = array_flip($ids);
и
if (!isset($ids_flip[$row['product_id']])) {
заюзать бинарный поиск? реализация, например такая:

function binarySearch($arr, $num)
{
    $first = 0;

    $last = sizeof($arr) - 1;

    while ($first <= $last) {
        $i = floor(($first + $last) / 2);

        if ($arr[$i] == $num) {
            return true;
        } elseif ($arr[$i] > $num) {
            $last = $i - 1;
        } else {
            $first = $i + 1;
        }
    }

    return false;
}
Не будет есть меньше памяти и быстрее отрабатывать?