所以今天,我每天都在编程.继续我惯常的工作,打字,听Daft Punk和各种其他时髦的曲调.然后出乎意料的是,我不得不写下以下内容:
$x = 'a'; // For instance
if ($x == 'a' || $x == 'b') {
// ...
}
很简单,我说不是太破旧.可是等等!我心想,“必须有一种更容易的方法 – 我正在重复自己”.所以我开始尝试用以下代码解决这个问题:
if ($x == ('a' || 'b')) {
// ...
}
但是,这不起作用.完全没有.这总是如此.如果$x等于a,b,c或cake.所以我生气了,哭了一下,决定问Stackoverflow你们有没有人知道为什么.
谢谢!
解决方法:
||是逻辑或者,它将左侧评估为布尔值(‘a’,它在布尔上下文中为true),如果是,则返回true,否则,它对右侧做同样的事情.
var_dump('a' || 'b');
bool(true)
现在,将此值与一个字符进行比较,根据PHP(loose comparison chart)的疯狂规则,该字符也将为真:
var_dump('a' == true);
bool(true)
标签:php,if-statement
来源: https://codeday.me/bug/20190530/1182254.html