2012-01-20 4 views
0

Я не уверен, можно ли выполнить следующую проверку с помощью стенограммы.если другое сокращенное решение

//if $error is set, echo $errro or just echo blank string. 
(isset($error)) ? echo $error:echo ''; 

Я знаю, что я ошибался, кто-нибудь здесь может помочь мне исправить свой код? Большое спасибо.

+0

Вызывается тройной оператор: HTTP : //en.wikipedia.org/wiki/Ternary_operation, если вам нужна дополнительная информация. – mowwwalker

ответ

2

Вы, вероятно, хотите:

echo (isset($error) ? $error : ''); 

Рядный, если не очень хорошо реализована в PHP, насколько ассоциативность обеспокоен; см. Wikipedia для получения дополнительной информации.

+0

спасибо за помощь – FlyingCat

3

Есть несколько хороших примеров в php documentation (тройной оператор). Но в основном использование является:

echo (isset($error) ? $error : ''); 

Он также имеет короткую форму, которая может быть использована в том случае, $error всегда установлен, но оценивается как (bool)false по умолчанию:

echo ($error ?: ''); 
+0

спасибо за помощь. – FlyingCat

+1

Стоит отметить, что среднюю часть тернарного оператора можно оставить в PHP 5.3. – cmbuckley

Смежные вопросы