Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Что работает быстрее if или switch?
 
 автор: Proger   (10.08.2007 в 02:38)   письмо автору
 
 

Всё тут решил продумать и спрашиваю у вас, есть 2 конструкции скрипта:

первая:

if ($_GET['act'] == 'page1') {
echo $page1;
....
....
} else if ($_GET['act'] и т.д.



вторая:

switch($act) {
    case 'false'        : error();         break;
    case 'show'        : show();         break;
        case 'reply'        : reply();         break;
        case 'edit'        : edit();         break;
        case 'del'        : del();         break;
        default            : select_act();        break;
}


Вот собственно верно что вторая конструкция с функциями работает быстрее первой? В своём выводе я оперался на то что в первом примере проверяются условия подряд до верного, если таких конструкций около 100 скажем будет, я подумал эт оэто будет нагрузно. Верно или нет? Спасибо.

   
 
 автор: Shiva   (10.08.2007 в 07:27)   письмо автору
 
   для: Proger   (10.08.2007 в 02:38)
 

Конструкция switch не быстрее и не медленнее if <...> else if ...

Но в примере операторы разные в теле.
Так что единственно разумный ответ на вопрос
>>Вот собственно верно что вторая конструкция с функциями работает быстрее первой?
- понятия не имею.

   
 
 автор: Trianon   (10.08.2007 в 10:02)   письмо автору
 
   для: Shiva   (10.08.2007 в 07:27)
 

>Конструкция switch не быстрее и не медленнее if <...> else if ...
>
В цепочечном if придется заново вычислять постоянную часть выражения (ту, что уходит в switch($expr) )
Поэтому if всяко медленнее. Хотя в большинстве случаев - несущественно.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования