输出格式化的变量版本(如果有值),否则为空白

时间:2011-06-22 13:46:47

标签: php if-statement

我想添加一个if语句来显示一个标题,如果某个东西在变量中,但不是100%确定如何去做它。

我目前的编码显示:

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

但是如果变量中有内容,我希望它显示标题和消息的内容。如果变量中没有任何内容,我不想显示任何内容。

7 个答案:

答案 0 :(得分:3)

恕我直言,最好是尽可能冗长,以便代码易于阅读,并且可以在不完全重写的情况下进行扩展:

<?php 
$message = $quote->getmessage();
if (!empty($message)) {
    echo "Title!";
    echo htmlspecialchars($message);
}
?>

答案 1 :(得分:1)

使用php的isset函数检查变量是否已设置,使用empty查看是否为空。

例如

<?php $a = $quote->getmessage();if (!empty($a)) echo $a; ?>

答案 2 :(得分:0)

<?php echo ($quote->getmessage() == "") ? "" : "Title <br />".$quote->getmessage(); ?>

答案 3 :(得分:0)

使用三元运算符:

<?php 
   $quote_var = $quote->getmessage(); 
   echo ($quote_var != null)?$quote_var:'NOTHING!'; 
   //displays 'NOTHING' if the variable is null
?>

答案 4 :(得分:0)

<?php 
$mssg = $quote->getmessage();
echo (!empty($mssg))?$mssg:'';
?>

答案 5 :(得分:0)

如果你想让你的线条简洁,那么我会建议这种语法:

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

AND的优先级低于赋值(但额外的空格或大括号使其更具可读性)。第二部分仅在$msg变量收到任何内容时才会执行。 print可以在此exporession上下文中使用,而不是echo

答案 6 :(得分:-1)

<?php 
     if(isset($quote->getmessage())
     {
         echo "My Title";
     }
?>