多个If语句使用变量
我想对输入变量$ContentPicture1Title
和$ContentPicture1URL
进行一些逻辑控制。特别是我试图通过两条规则在单个if
声明中应用。多个If语句使用变量
在第一段代码中,一切正常。然后我弄糟了代码,就像你在第二个代码片段中看到的那样。
首先声明(OK):
<?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 }?>
预先感谢您的帮助。
除非$ContentPicture1URL
是boolean
变量,您需要调用一个函数,该函数可以评估为布尔值并/或将其与另一个变量/值进行比较。
例如
if(is_null($variable1) && is_null($variable2)) {
//Do something
}
或
if(is_null($variable1) && $variable2 == 5) {
//Do something
}
PHP会将该变量转换为布尔值,并从中返回true或false。不完全确定规则是什么,但它确实如此。不需要完全是一个布尔型 – Phiter
真,但变量被评估为“boolean”两种方式。 (例如'0 == false'和'1 == true')。他不太可能会想要这个,除非它是一个数字或布尔值。 –
正如你在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()
)以正确验证条件。
什么是不工作?你得到什么错误? – Epodax
我想你的第二个是缺少is_null(...)。但你的问题不是很清楚! – TehSphinX
是的我的服务器不给我正确的错误!这两个字段正在检查空值..换句话说是空的。 – Cavemanharris