php – 哪个更快 – 一个布尔变量检查或is_null()?
发布时间:2020-12-13 22:14:33 所属栏目:PHP教程 来源:网络整理
导读:假设我正在创建一个会话类,相关实现如下: public class Session(){ private $id; private $user;} 如果会话已登录,$user字段包含User类型的对象,如果会话未登录到站点,则为$null. $id是会话ID. 假设我现在想知道用户是否已登录.显然我可以检查$user是否为nu
假设我正在创建一个会话类,相关实现如下:
public class Session() { private $id; private $user; } 如果会话已登录,$user字段包含User类型的对象,如果会话未登录到站点,则为$null. $id是会话ID. 假设我现在想知道用户是否已登录.显然我可以检查$user是否为null,如果是,那么用户没有登录 – 如下所示: public class Session() { private $id; private $user; public function isLoggedIn() { return !is_null($user); } } 或者,我可以存储一个布尔会话变量,$loggedIn或者其他东西,在登录时设置为false,否则在构造函数中初始化为false以进行测试: public class Session() { private $id; private $user; private $loggedIn; public function isLoggedIn() { return $loggedIn; } } 一种方法会产生比另一种方法更好的性能吗?如果是这样,哪个,为什么?或者,出于与性能无关的任何原因,一种方法是否优于另一种方法? 解决方法
越简单越好.如果引入一个新变量来跟踪$user是否为null,那么您还会引入is_null($user)和$loggedIn不匹配的可能性.避免担心这一点的麻烦比任何可能的性能微观优化都要值得多.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |