如果一个或多个变量不为空,则显示html

时间:2014-12-02 10:11:32

标签: php if-statement echo

如果变量不是真的,我想回复一些html,为此我知道我可以做以下事情:

if (!empty($test)) {
?>
    <p>Some nice html can go here</p> 
<?php
} 
else 
{ 
echo "It's empty...";
}

如何为多个变量执行此操作?因此,如果其中一个变量不为空,那么回显html?会这样做吗?

if (!empty($test || $image || $anothervar)) {
?>
    <p>Some nice html can go here</p> 
<?php
} 
else 
{ 
echo "It's empty...";
}

5 个答案:

答案 0 :(得分:1)

您应该检查每个变量:

!empty($test) || !empty($image) || !empty($anothervar)

答案 1 :(得分:1)

试试:

if (!empty($test) || !empty($image) || !empty($anothervar)) {
  // ...
}

答案 2 :(得分:1)

empty函数不带多个参数。

因此,您需要为每个变量分别使用empty

最终代码应为:

if (!empty($test)  || !empty($image) || !empty($anothervar)) {

答案 3 :(得分:1)

只需检查所有三个变量。

另外,我建议你将你的php嵌入你的html中以获得更好的可读文档,如下所示:

<?php if (!empty($test) || !empty($image) || !empty($anothervar)): ?>
    <p>Some nice html can go here</p> 
<?php else: ?>
    It's empty...
<?php endif; ?>

答案 4 :(得分:1)

只是另一种解决方案:

if(empty($test) and empty($image) and empty($anothervar)) {
   echo "It's completely empty...";
} else {
?>
    <p>Some nice html can go here</p> 
<?php
}

或者,如果您要检查很多变量:

$check = array("test","image","anothervar");
$empty = true;
foreach($check as $var) {
   if(! empty($$var)) {
      $empty = false;
   }
}
if($empty) {
   echo "It's completely empty...";
} else {
?>
    <p>Some nice html can go here</p> 
<?php
}