您好,我有以下代码,这让我感到困惑。这个案子怎么打?
<?php
$concept = '0';
switch ($concept) {
case ($concept > '0'):
$score = 'Y';
break;
}
?>
最佳答案
来自 switch
文档:
Check the falsy-ness for '0'
,这太糟糕了,我知道。您的案例评估为 false
,正如您在链接的 tbl 中看到的那样, ('0' == false) === true
。
我会将您的 switch
语句更改为:
switch(true)
{
case ($concept >'0'):
echo 'Impossible';
break;
}
另外,就像文档说的那样:
switch
是一个类似循环的结构,它执行松散的比较。您不能自己选择比较运算符。如果你想根据一组 case 检查 $concept
的值,你必须写:switch($concept)
{
case '0': echo 'a zero string'; break;
case '1': echo 'a 1 concept'; break;
}
关于字符串类型的 PHP 0 > 那么字符串类型的 0 等于真吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17588487/