памогите плз... с if

Тема в разделе "PHP", создана пользователем bobrdobr94, 21 ноя 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. bobrdobr94

    bobrdobr94 Создатель

    Регистр.:
    20 сен 2009
    Сообщения:
    36
    Симпатии:
    0
    Привет всем!
    Вот есть дело такое есть два условия(расположены также как и в коде) но программа всегда выбирает 2-е. Как зделать, что бы программа выбирала правильное условие. а значит 1 ?

    1) if ($var2 == 0 && $var3 == 0 && $var5 == 0 && $var6 == 0)
    {$var11 = $var1 - $var4;};

    2) if ($var2 == 0 && $var3 == 0)
    {...};
     
  2. Eihwaz

    Eihwaz

    Регистр.:
    7 окт 2007
    Сообщения:
    156
    Симпатии:
    54
    Если все переменные действительно равны нулю, ваш вариант должны был бы срабатывать дважды.
    PHP:
    if ($var2 == && $var3 == && $var5 == && $var6 == 0) {
        
    // что-то делаем
    } elseif ($var2 == && $var3 == 0) {
        
    // делаем что-то другое
    }
    P.S.: вы очень скоро запутаетесь в названиях своих переменных
     
  3. kaktyc1

    kaktyc1

    Регистр.:
    30 апр 2008
    Сообщения:
    576
    Симпатии:
    310
    Наверное так:
    if ($var2 == 0 && $var3 == 0 && $var5 == 0 && $var6 == 0){
    {$var11 = $var1 - $var4;}
    }
    else
    if ($var2 == 0 && $var3 == 0)
    {...};
     
  4. bobrdobr94

    bobrdobr94 Создатель

    Регистр.:
    20 сен 2009
    Сообщения:
    36
    Симпатии:
    0
    мда... решилось

    решилось тем что просто 1 блок поставил ниже второго в коде. но почему не понял...
     
  5. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    Потому что у тебя необходимое и достаточное условия пересекаются между собой, сам посмотри. $var2 == 0 && $var3 == 0 В обоих случаях. Вообще условие составлено неправильно и нелогично
     
  6. zss

    zss Постоялец

    Регистр.:
    22 июн 2007
    Сообщения:
    55
    Симпатии:
    6
    По хорошему, надо бы писать так:
    Код:
    if ($var2 == 0 && $var3 == 0)
    {
        if ($var5 == 0 && $var6 == 0)
        {
            $var11 = $var1 - $var4;
        }else
        {
           ...
        } 
    }
    
     
    bobrdobr94 нравится это.
  7. bobrdobr94

    bobrdobr94 Создатель

    Регистр.:
    20 сен 2009
    Сообщения:
    36
    Симпатии:
    0
    а если

    народ а если
    if ($var5 != 0 && $var6 != 0 && $var2 != 0 && $var3 !=0)
    {
    ...
    }

    if ($var2 == 0 && $var3 == 0)
    {
    ...
    }

    if ($var5 == 0 && $var6 == 0)
    {
    ...
    }

    if ($var2 == 0 && $var3 == 0 && $var5 == 0 && $var6 == 0)
    {
    ...
    }

    можно ли как то объединить в один блок?
     
  8. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    что то я вопрос не понял. elseif тебе поможет ?

    Ты бы хоть логику работы описал, а то по коду найти ошибку при том что ХЗ что ты хочешь сделать этим кодом, проблематично
     
  9. bobrdobr94

    bobrdobr94 Создатель

    Регистр.:
    20 сен 2009
    Сообщения:
    36
    Симпатии:
    0
    ну вот смотри в начале поста я писал что происходит ошибка, программа выбирает не то условие. ну если посмотреть то видно что некоторые условия содержат одинаковые переменные которые нужно проверить мне нужно сделать максимально рационально...
     
  10. Eihwaz

    Eihwaz

    Регистр.:
    7 окт 2007
    Сообщения:
    156
    Симпатии:
    54
    Почему вы так настойчиво не используете elseif?
    Сложно точно понять, что вам нужно, но возможно так:
    PHP:
    if ($var2 == && $var3 == && $var5 == && $var6 == 0) {
        
    // Первое условие
    } elseif ($var5 == && $var6 == 0) {
        
    // Первое условие не подошло, — второе условие
    } elseif ($var2 == && $var3 == 0) {
        
    // Не подошло ни первое ни второе условие, — третье условие
    } else {
        
    // Не подошло ни одно из условий
    }
     
Статус темы:
Закрыта.