gpt4 book ai didi

php - 哪个更快 - bool 变量检查或 is_null()?

转载 作者:可可西里 更新时间:2023-10-31 23:53:03 25 4
gpt4 key购买 nike

假设我正在创建一个 session 类,相关实现如下:

public class Session()
{
private $id;
private $user;
}

如果 session 已登录,$user 字段包含一个 User 类型的对象,如果 session 未登录到站点,则该字段为 null。 $id 是 session ID。

假设我现在想知道用户是否已登录。显然我可以检查 $user 是否为空,如果是则用户未登录 - 如下所示:

public class Session()
{
private $id;
private $user;

public function isLoggedIn()
{
return !is_null($user);
}
}

或者,我可以存储一个 bool session 变量,$loggedIn 或其他东西,在登录时设置为 false,否则在构造函数中初始化为 false 以进行测试:

public class Session()
{
private $id;
private $user;
private $loggedIn;

public function isLoggedIn()
{
return $loggedIn;
}
}

在这里,一种方法会比另一种方法产生更好的性能吗?如果有,是哪个,为什么?或者,是否出于与性能无关的任何原因,一种方法优于另一种方法?

最佳答案

在这个用户贡献的帖子 (link to post) 中检查 php.net 的基准,我们看到 =====is_null 快得多。

关于php - 哪个更快 - bool 变量检查或 is_null()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8989961/

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