gpt4 book ai didi

php - 在 PHP 中使用 === 比较而不是 == 比较

转载 作者:IT老高 更新时间:2023-10-28 11:59:04 25 4
gpt4 key购买 nike

有没有办法让下面的代码仍然使用开关并返回 b 而不是 a?谢谢!

$var = 0;
switch($var) {
case NULL : return 'a'; break;
default : return 'b'; break;
}

当然,使用 if 语句,你会这样做:

$var = 0;
if($var === NULL) return 'a';
else return 'b';

但对于更复杂的示例,这会变得冗长。

最佳答案

抱歉,您不能在 switch 语句中使用 === 比较,因为根据 switch() documentation :

Note that switch/case does loose comparison.

这意味着您必须想出一个解决方法。来自 the loose comparisons table ,您可以通过类型转换来利用 NULL == "0" 为 false 的事实:

<?php
$var = 0;
switch((string)$var)
{
case "" : echo 'a'; break; // This tests for NULL or empty string
default : echo 'b'; break; // Everything else, including zero
}
// Output: 'b'
?>

Live Demo

关于php - 在 PHP 中使用 === 比较而不是 == 比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3525614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com