()?:; в чем ошибка?

Тема в разделе "PHP", создана пользователем vanderv, 2 май 2011.

Модераторы: latteo
  1. vanderv

    vanderv

    Регистр.:
    30 май 2009
    Сообщения:
    269
    Симпатии:
    12
    PHP:
    <?php
    ($_GET['brand'])?echo'addBrand()':echo'addModel()';
    ?>
    подскажите в чем ошибка. Выдает Parse error: syntax error, unexpected T_ECHO
     
  2. Monterpan

    Monterpan Постоялец

    Регистр.:
    3 мар 2008
    Сообщения:
    150
    Симпатии:
    27
    А так?
    PHP:
    <?php
    echo ($_GET['brand']) ? 'addBrand()' 'addModel()';
    ?>
     
    vanderv нравится это.
  3. PHPCod3r

    PHPCod3r

    Регистр.:
    7 июн 2010
    Сообщения:
    261
    Симпатии:
    25
    ?echo пробел нужен, и :echo и тут тоже )
     
  4. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    не нужны там никакие пробелы, тернарный оператор должен возвращать значение в зависимости от выполнения условия и подобные конструкции он не поддерживает.
     
  5. satih

    satih

    Регистр.:
    19 сен 2008
    Сообщения:
    429
    Симпатии:
    710
    PHP:
    (isset($_GET['brand'])) ? echo 'addBrand()' : echo 'addModel()' ;
    пробелы не обязательны, как сказали выше, но все же код должен быть читабельным.
    еще как вариант, может ты пропустил, echo 'addBrand()' даст addBrand(). если хочешь отпечатать результат функции, нужно просто echo addBrand() без ковычек
     
  6. vanderv

    vanderv

    Регистр.:
    30 май 2009
    Сообщения:
    269
    Симпатии:
    12
    Всем спасибо, мне помог 1ый вариант.