За последние 24 часа нас посетили 18149 программистов и 1793 робота. Сейчас ищут 1102 программиста ...

Вопрос про if, switch.

Тема в разделе "Прочие вопросы по PHP", создана пользователем Danilka, 11 июн 2008.

  1. Danilka

    Danilka Активный пользователь

    С нами с:
    8 ноя 2007
    Сообщения:
    192
    Симпатии:
    0
    Рассмотрим примеры:
    1.
    PHP:
    1. if( true || a<b )...
    Вопрос: Будет ли пых сравнивать a c b? Собственно есть ли смысл следовать какой-то логике в расстановке условий в ифах или он всё бут лопатить и тогда всё-равно.
    2.
    PHP:
    1.  
    2. switch( a )
    3. {
    4.     case 1 :
    5.         ...
    6.     break;
    7.  
    8.     case 2 :
    9.         ...
    10.     break;
    11. }
    Вопрос тот же. Есть ли смысл более часто используемые значения ставить раньше и будет ли вообще от этого эффект по производительности?
     
  2. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    1) Не будет.
    2)
    Даже если и будет, то ты его не заметишь. Не в ту сторону копаешь.
     
  3. Danilka

    Danilka Активный пользователь

    С нами с:
    8 ноя 2007
    Сообщения:
    192
    Симпатии:
    0
    3.
    А, забыл, вот ещё вопрос:
    PHP:
    1. for( i=0 ; i<a+b ; i++ )
    2. {
    3.      ...
    4. }
    Будет ли пых каждый раз вычислять выражение a+b, если в теле цикла обращения к ним нет?

    По 1 - спасибо.
    По 2 - Ясно, что выигрыш будет ровным счётом никакой, но если нет разницы при порграммировании, то почему бы не поставить в правильном порядке. да и к тому же, вместо 1,2 могут быть сложные выражения, там уж точно вопрос будет оправдан.
     
  4. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    3)
    PHP:
    1. <?php
    2. $a = 1;
    3. $b = 3;
    4. $c =& $a;
    5.  
    6. for ($i = 0; $i < $a + $b; $i++) {
    7.     print $i . "\n";
    8.     $c = 3;
    9. }