За последние 24 часа нас посетили 22624 программиста и 1546 роботов. Сейчас ищут 916 программистов ...

If условие с или

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

  1. Fusix

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

    С нами с:
    22 фев 2010
    Сообщения:
    67
    Симпатии:
    0
    Как можно сократить условие:

    Код (Text):
    1. if ($plinfo[x] != $move_x)
    2. {
    3.     if ($move_x != null) {
    4.     mysql_query("UPDATE users SET x='$move_x' WHERE login='Fusix'");
    5.     mysql_query("UPDATE users SET y='$move_y' WHERE login='Fusix'");
    6.     }
    7. }
    8. if ($plinfo[y] != $move_y)
    9. {
    10.     if ($move_y != null) {
    11.     mysql_query("UPDATE users SET y='$move_y' WHERE login='Fusix'");
    12.     mysql_query("UPDATE users SET x='$move_x' WHERE login='Fusix'");
    13.     }
    14. }
    Можно ли написать:
    Если х не равен муви х или если у не равен муви у?
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    PHP:
    1. if (($a != $b) || ($c != $d))
     
  3. Fusix

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

    С нами с:
    22 фев 2010
    Сообщения:
    67
    Симпатии:
    0
    это "или" или "и"? Я наньше думал что и
     
  4. ShamahN

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

    С нами с:
    10 апр 2007
    Сообщения:
    1.449
    Симпатии:
    0
    Адрес:
    г.Волгодонск Роствской обл.
    Не совсем понятно зачем обновление происходит 2 раза после каждого условия, но если сделать некоторые предположения и допущения то

    PHP:
    1. <?php
    2. if ( $move_x && ($plinfo[x] != $move_x) ) {
    3.      mysql_query("UPDATE users SET x='$move_x' WHERE login='Fusix'");
    4. }
    5. if ( $move_y && ($plinfo[y] != $move_y) ) {
    6.      mysql_query("UPDATE users SET y='$move_y' WHERE login='Fusix'");
    7. }
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    PHP:
    1.  
    2. <?php
    3.  
    4. if ($plinfo[x] != $move_x AND $move_x != null)
    5. {
    6.  
    7.    mysql_query("UPDATE users SET x='$move_x', y='$move_y' WHERE login='Fusix'");
    8.  
    9.  
    10. }
    11. if ($plinfo[y] != $move_y AND $move_y != null)
    12. {
    13.  
    14.    mysql_query("UPDATE users SET x='$move_x', y='$move_y' WHERE login='Fusix'");
    15.  
    16.  
    17. }
    18. ?>
    При том, что на мой взгляд операция одна и та же, есть смысл:
    PHP:
    1.  
    2.  
    3. if ( ($plinfo[x] != $move_x AND $move_x != null) OR  ($plinfo[y] != $move_y AND $move_y != null)  )
    4. {
    5.    mysql_query("UPDATE users SET x='$move_x', y='$move_y' WHERE login='Fusix'");
    6. }
    7.  
    8. ?>
    Хотя я подозреваю, что я что-то упускаю ( но имею на то причины =) )