开关语句中的 php 空值混淆
2022-08-30 15:15:55
我有以下php代码,给我一个意想不到的结果:
$foo = NULL;
switch($foo)
{
case 0:
print "What?!";
}
我预计结果为零,但它与情况0匹配。php手册说NULL是一个非值,那么它怎么能等于0呢?
我有以下php代码,给我一个意想不到的结果:
$foo = NULL;
switch($foo)
{
case 0:
print "What?!";
}
我预计结果为零,但它与情况0匹配。php手册说NULL是一个非值,那么它怎么能等于0呢?
因为php不是类型严格的语言
$foo = NULL;
if( isset( $foo ) ) {
switch( $foo ) {
case 0:
print "WTF!!!";
}
}