我有这个if语句,我无法弄明白:
<?php if($isFriend = true || $isOwner = true){echo $height;}else{/* do nothing*/}?>
上面的代码应该是如果是朋友和/或是所有者然后显示高度否则不显示。
我不明白为什么会出错,而且不能做我想做的事。
答案 0 :(得分:1)
问题是你正在使用作业而不是比较:
$isFriend = true;
是作业
$isFriend == true;
是一个比较。但是,如果值已经是布尔值,那么您实际上不需要将它们与true
进行比较。
if ($isFriend || $isOwner) …
没关系。
答案 1 :(得分:1)
您必须使用==
代替=
==
相等将检查相等,而单=
用于为变量赋值。
所以你需要改为:
<?php if($isFriend == true || $isOwner == true){echo $height;}else{/* do nothing*/}?>
答案 2 :(得分:0)
您要分配而不是比较。
但请勿使用==
,请使用===
因为在php中==
运算符是强制性的。
一般来说,编写
是不好的做法if ($condition === true) {...}
更喜欢
if ($condition) {...}
答案 3 :(得分:0)
试试这个:
<?php if($isFriend || $isOwner){echo $height;}else{/* do nothing*/}?>
无需检查变量的值是否为真,只需将其作为条件。
现在您尝试的比较需要使用==
来比较代码的任何两个示例。
<?php if($isFriend == true || $isOwner == true){echo $height;}else{/* do nothing*/}?>
注意:强烈建议您使用===
代替==
进行粘贴检查并避免类型转换。