За последние 24 часа нас посетили 59117 программистов и 1811 роботов. Сейчас ищут 997 программистов ...

2 вопроса по синтаксису

Тема в разделе "PHP для новичков", создана пользователем borus, 14 июн 2012.

  1. borus

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

    С нами с:
    16 апр 2012
    Сообщения:
    161
    Симпатии:
    0
    Здравствуйте.

    1. Столкнулся с конструкцией
    Код (Text):
    1. if ($arItem["SELECTED"]):
    Двоеточие используется для чего?

    2. <?=$arItem["TEXT"]?> - это равносильно echo $arItem["TEXT"]?
     
  2. progphp

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

    С нами с:
    14 июн 2012
    Сообщения:
    2
    Симпатии:
    0
    1. Данная конструкция использутся в php шаблонах для создания условия вывода определенного куска HTML кода, например :
    <div id="block1">Block1</div>
    <?php if($flag === true ): ?> // условие

    <div id="block2">Block2</div> // блок будет выведен, только если условие $flag === true - истинно

    <? endif; ?> // конец условия

    2. Конструкция <?=$var ?> аналогична конструкции <? echo $var; ?>, и служит просто для удобства вывода данных в шаблоне страницы. Более подробно можешь почитать на моем блоге http://www.phpgoodluck.blogspot.com, тема - Шаблоны PHP.
     
  3. borus

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

    С нами с:
    16 апр 2012
    Сообщения:
    161
    Симпатии:
    0
    Но почему бы не использовать "{" вместо ":" ?
     
  4. progphp

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

    С нами с:
    14 июн 2012
    Сообщения:
    2
    Симпатии:
    0
    Так никто не запрещает, в данный момент можно использовать оба синтаксиса. И if(): ... endif; и if(){ .... }, двоеточие, где-то читал, досталось в наследство от 2 или 3.0 версии PHP точно не помню, тогда чтобы реализовать нормальный синтаксис условного оператора, требовалось значительная переработка ядра. Сейчас, видно, это исправили и для совместимости оставили оба синтаксиса. Но вид
    <div id="block1">Block1</div>
    <?php if($flag === true ): ?> // условие

    <div id="block2">Block2</div> // блок будет выведен, только если условие $flag === true - истинно

    <? endif; ?> // конец условия

    чаще можно встретить именно в шаблонах, хотя никто не запрещает использовать такой синтаксис
    <div id="block1">Block1</div>
    <?php if($flag === true ){ ?> // условие

    <div id="block2">Block2</div> // блок будет выведен, только если условие $flag === true - истинно

    <? } ?> // конец условия

    Никакой ошибки не будет. Как говориться на вкус и цвет ...
     
  5. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    это дело вкуса, не более того.
     
  6. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    endif - это что-то в духе basic
     
  7. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
  8. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Еще есть вопросительный знак
     
  9. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    не вопросительный знак, а тернарный оператор
     
  10. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    да. тенарный оператор в виде вопросительного знака. выглядит совсем точь в точь как вопросительный знак.
     
  11. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Знак отрицания =)))