Вывести отформатированную версию переменной, если она имеет значение, в противном случае пустым - PullRequest
1 голос
/ 22 июня 2011

Я хочу добавить оператор if для отображения заголовка, если что-то находится в переменной, но не уверен на 100%, как это сделать.

Моя текущая кодировка показывает:

<?php echo $quote->getmessage(); ?>

Но я бы хотел показать заголовок и содержание сообщения, если в переменной есть содержимое. Если в переменной ничего нет, я не хочу ничего показывать.

Ответы [ 7 ]

3 голосов
/ 22 июня 2011

ИМХО, лучше быть настолько подробным, насколько это необходимо, чтобы код был легко читаемым и мог быть расширен без полного переписывания:

<?php 
$message = $quote->getmessage();
if (!empty($message)) {
    echo "Title!";
    echo htmlspecialchars($message);
}
?>
1 голос
/ 22 июня 2011

Используйте функцию php's isset , чтобы проверить, установлена ​​ли переменная, и empty , чтобы увидеть, пуста ли она.

Например

<?php $a = $quote->getmessage();if (!empty($a)) echo $a; ?>
0 голосов
/ 22 июня 2011

Если вы хотите, чтобы ваша строка была краткой, то я бы посоветовал этот синтаксис:

<?php  $msg = $quote->getmessage()  AND  print "<h6>title</h6>$msg";  ?>

* AND имеет более низкий приоритет, чем назначение (но дополнительные пробелы или скобки делают это более читабельным),И вторая часть выполняется только в том случае, если переменная $msg получает какой-либо контент.И print может использоваться в этом контексте выражения вместо echo.

0 голосов
/ 22 июня 2011
<?php 
     if(isset($quote->getmessage())
     {
         echo "My Title";
     }
?>
0 голосов
/ 22 июня 2011
<?php 
$mssg = $quote->getmessage();
echo (!empty($mssg))?$mssg:'';
?>
0 голосов
/ 22 июня 2011

Используйте троичный оператор:

<?php 
   $quote_var = $quote->getmessage(); 
   echo ($quote_var != null)?$quote_var:'NOTHING!'; 
   //displays 'NOTHING' if the variable is null
?>
0 голосов
/ 22 июня 2011
<?php echo ($quote->getmessage() == "") ? "" : "Title <br />".$quote->getmessage(); ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...