多个If语句使用变量

时间:2016-06-21 12:00:08

标签: php html if-statement

我正在尝试对输入变量$ContentPicture1Title$ContentPicture1URL进行一些逻辑控制。特别是我想在单个if语句中使用两个规则

在第一段代码中,一切正常。然后我在第二个片段中看到你搞砸了代码。

第一句话(好):

<?php if (is_null($ContentPicture1Title)){ ?>
   <div class="letter-badge"><img src="image1.jpg"></div>
<?php } else { ?>
   <div class="letter-badge"><img src="image2.jpg"></div>
<?php }?>

第二(混乱)声明:

<?php if (is_null($ContentPicture1Title) && ($ContentPicture1URL)){ ?>
   <div class="letter-badge"><img src="image1.jpg"></div>
<?php } else { ?>
   <div class="letter-badge"><img src="image2.jpg"></div>
<?php }?>

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

除非$ContentPicture1URLboolean变量,否则您需要调用一个可以作为布尔值计算的函数和/或将其与另一个变量/值进行比较。

e.g。

if(is_null($variable1) && is_null($variable2)) {
    //Do something
}

if(is_null($variable1) && $variable2 == 5) {
    //Do something
}

答案 1 :(得分:0)

正如您在official documentation中所读到的,您需要使用第二个结构:

<?php if (is_null($ContentPicture1Title) && $ContentPicture1URL): ?>

   <div class="letter-badge"><img src="image1.jpg"></div>

<?php else: ?>

   <div class="letter-badge"><img src="image2.jpg"></div>

<?php endif; ?>

如果$ ContentPicture1URL是布尔值,则会运行,否则您需要使用比较运算符(==!=&&||等)或布尔值函数(is_null())以便正确验证条件。