Ускорить if проверку или уменьшить код

197
13 октября 2017, 18:06

Добрый день!

Приходиться делать вот такую, громоздкую проверку массива:

if ($service['is_annulated'] == '1') {
    if ($service['type_id'] == 'Билеты' || $service['type_id'] == 'БилетыЖД') {
        $service['status'] = 'is_annulated';
    } else {
        $service['status'] = 'is_annulated_request';
    }
} 
else {
    if ($service['type_id'] == 'БилетыЖД' || $service['type_id'] == 'Билеты') {
        $service['status'] = 'tickets';
    } else {
        if ($service['is_garant'] == '1') {
            if ($today >> $service['annulation_date']) {
                $service['status'] = 'warning';
            } else {
                $service['status'] = 'live';
            }
        } else {
            if ($today >> $service['annulation_date']) {
                $service['status'] = 'failed';
            } else {
                $service['status'] = 'live';
            }
        }
    }
}

Т.е. проверяем по 4-ем параметрам, которые не имеют линейной зависимости. Заметил, что скорость выполнения функции, куда входит эта шняга, выросла почти в два раза.

Можно ли как-либо боком заставить все это дело работать быстрее?

p.s. PHP 5.3 и апгрейдить нельзя.

p.p.s самописный движок

READ ALSO
PHP проверка на наличие файла по таймеру

PHP проверка на наличие файла по таймеру

Можно ли с помощью php проверять наличие какого либо файла в каталоге по таймеру 24/7

189
Google Inbox: как отключить цитирование текста в письмах?

Google Inbox: как отключить цитирование текста в письмах?

Когда отправляются 2 однотипных письма, которые отличаются, например, несколькими строками, то inbox сворачивает одинаковые блоки в "цитируемый...

243
Время жизни сессии в firefox и ie всего 1 минута

Время жизни сессии в firefox и ie всего 1 минута

ЗдравствуйтеСтолкнулся с такой проблемой

165
Рейтинг статьи в процентах

Рейтинг статьи в процентах

Имеются две переменные:

191