Y,N和0都等于0?

cwa*_*wal 3 php equality

$isClient = 0;
if($isClient == 0) echo "is client 0\n";
if($isClient == "n") echo "is client n\n";
if($isClient == "y") echo "is client y\n";
Run Code Online (Sandbox Code Playgroud)

考虑到上面的代码,它输出以下内容

is client 0
is client n
is client y
Run Code Online (Sandbox Code Playgroud)

我必须在这里遗漏一些东西!为什么0等于"n"和"y"?

上述测试代码的链接

sil*_*ire 6

在这里你进行松散的比较(注意:在三个等号的帮助下进行严格比较:) ===并且在这种情况下,字符串求值为零,因为它==是左关联的,这意味着,如果第一个操作数是一个整数,那么第二个操作数也被整数转换为整数(因此"n"被解释为0).这就是PHP的工作方式.