gpt4 book ai didi

PHP:将 is_null() 与 !$var 或 isset($var) 一起使用

转载 作者:可可西里 更新时间:2023-10-31 22:47:34 25 4
gpt4 key购买 nike

虽然我相信答案是是的,但我在遗留代码中看到了这么多,我怀疑自己。我要求社区进行健全性检查。

遗留代码

if (is_null($result) || !$result) {

重构代码

if (!$result) {

注意:我知道如果未设置 $result,这将引发通知。

问题

这段代码在逻辑上是等价的吗?

代码测试

我测试了 PHP false values 的所有组合没有收到不等于...

$false_values = array(false, 0, 0.0, '0', '', null, array(), new stdClass());

foreach ($false_values as $var) {
if (!$var != (is_null($var) || !$var)) {
echo 'Not equal for: ';
var_dump($var);
}
}

输出

$ php check.php
$

最佳答案

null 变量在 bool 上下文中的计算结果为 false。所以这些语句在逻辑上是等价的——当变量为 null 时,它将被 !$result 语句捕获。

使用empty()防止通知级警告:

if (!empty($result)) {
// do something
}

关于PHP:将 is_null() 与 !$var 或 isset($var) 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13588886/

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