За последние 24 часа нас посетили 55346 программистов и 1725 роботов. Сейчас ищут 845 программистов ...

Простая функция

Тема в разделе "Прочие вопросы по PHP", создана пользователем KOKS1999, 17 янв 2015.

  1. KOKS1999

    KOKS1999 Новичок

    С нами с:
    11 янв 2015
    Сообщения:
    67
    Симпатии:
    0
    <?PHP
    $result=$sName=="EuGen"?"Я":"Не я";
    ?>

    Почему выведет "Не я".
    Объясните как то простым языком что ли.
     
  2. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    это не функция
    она зависит от того что в $sName
    тут написано всего лишь
    if($sName=='EuGen'){
    $result = 'Ya';
    }else{
    $result = 'NeYa';
    }
    просто одной красивой строкой.
     
  3. KOKS1999

    KOKS1999 Новичок

    С нами с:
    11 янв 2015
    Сообщения:
    67
    Симпатии:
    0
    Ну все рамно, почему выводит Не я.
     
  4. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    это ОЧЕВИДНО ЖЕ - значение переменной сНэйм НЕ РАВНО СТРОКЕ EuGen
     
  5. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    по идее этот кусок кода ничего не выводит)
     
  6. KOKS1999

    KOKS1999 Новичок

    С нами с:
    11 янв 2015
    Сообщения:
    67
    Симпатии:
    0
    Это потому что переменной не задано значение=EuGen
    да?
     
  7. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    допустим да, хотя с формулировкой вопроса у тебя тоже неоднозначно...
     
  8. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Код (Text):
    1. $sName=="EuGen"?"
    это условие
    а "Я" и "не Я" значения, которые должны выводится в том или ином случае. т.е.
    если условие true выведется "Я"
    иначе "Не Я".
     
  9. KOKS1999

    KOKS1999 Новичок

    С нами с:
    11 янв 2015
    Сообщения:
    67
    Симпатии:
    0
    Если так поэтому?
    <?PHP
    $sName="EuGen";
    $result=$sName=="EuGen"?"Я":"Не я";
    ?>
     
  10. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    ну вот так по идее "Я"
     
  11. KOKS1999

    KOKS1999 Новичок

    С нами с:
    11 янв 2015
    Сообщения:
    67
    Симпатии:
    0
    Как компьютер определяет это истина или ложь?
     
  12. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Скобки. При работе с тернарниками всегда юзай скобки. Во-первых из соображений читабельности. Во-вторых в пхп тернарный оператор мальца шизанутый и, без скобок, может давать крайне неожиданные результаты.
    Так что:

    Код (Text):
    1. $result = ( ($sName=="EuGen")?("Я"):("Не я") );
    Добавлено спустя 50 секунд:
    Сравнивает два значения. Если совпали, истина. Не совпали, ложь.

    Добавлено спустя 56 секунд:
    Почитай дискретную математику. Булевыми значениями можно оперировать до кучи. Они складываются и перемножаются.

    Добавлено спустя 19 секунд:
    еще есть исключающее "или", но оно редко юзается
     
  13. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
  14. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    открой книгу и почитай как он определят.