MySQL — оператор переключателя PHP VS, если еще оператор ifif

Я проверяю это Тест сайта PHP для проверки switch statement В.С. if else if statement, И я вижу этот результат:

Есть ли разница между коммутатором и структурами if? Звоните 1’000x

  • 141% *if and elseif (using ==)* Общее время: 165 мкс
  • 139% *if, elseif and else (using ==)* Общее время: 162 µsview код
  • 110% *if and elseif (using ===)* Общее время: 128 µsview код
  • 100% *if, elseif and else (using ===)* Общее время: 117 мкс код просмотра
  • 149% *switch / caseTotal* время: 174 мкс
  • 181% *switch / case / default* Общее время: 211 мкс код просмотра

В результате я вижу if else if быстрее (+ **100 %** *if, elseif and else (using ===)* Total time: 117 µsview code).

Этот тест верен и if, elseif and else (using ===) лучше и быстрее, как заявление переключателя ?!

0

Решение

Получите ли вы точно такие же результаты, будет зависеть от того, какие условия вы оцениваете, ваше оборудование, настройки и другие факторы. Да да вообще if/elseif/else со строгим сравнением (===) превзойдет switch, Причина в том, что switch использует «свободное» (т.е. нечувствительное к типу) сравнение (==), который медленнее, чем сравнение с учетом типа (===).

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

3

Другие решения

Переключатель по умолчанию PHP не с точным соответствием.

Несколько примеров для переключатель точного соответствия.

1

По вопросам рекламы [email protected]