在PHP中,isset()、empty()和()都可以用来测试变量的值,那么它们之间有什么区别呢? 下面的文章将对这三个功能进行比较,了解它们的区别。
让我们从一些定义开始。
() ()
从定义中我们可以看出,如果我们之前定义了该变量并将其值设置为 NULL 以外的值,isset() 将返回 true。 这可以包括 0、空字符串或 false。 另一方面,只要变量的值设置为 false,empty() 就会返回 true。 我们将这些值称为“假值”。 错误值的例子包括:0、空字符串“”和字符串“0”、空数组NULL,当然还有布尔值false。
isset() 和empty() 之间的一个相似之处是它们都是语言构造,因此不能使用变量函数进行调用。
下面的代码片段应该解释两者之间的区别。
登录后复制
请注意,empty() 可以使用 isset() 函数编写。
登录后复制
当然,使用内置的empty()函数通常更容易。
PHP isset() 与 ()
如果变量的值显式设置为 NULL,则 () 函数返回 true。 否则,它只是返回 false。 另一方面,只要定义了变量且其值不为 NULL,isset() 就会返回 true。
这是一个说明差异的基本示例。
登录后复制
登录后复制
PHP 空() 与 ()
如果变量的值计算为 false,empty() 函数将返回 true。 这可能意味着空字符串、NULL、整数 0 或没有元素的数组。 另一方面,仅当变量值为 NULL 时 () 才会返回 true。
这是一个说明差异的基本示例。
登录后复制
登录后复制
重要的事情要记住
您可以使用两个技巧来编写更清晰的代码并避免将来出现错误。
1. 与empty()和()不同,您可以一次向isset()传递多个值,以检查其中是否有任何一个值未定义或同时设置为NULL。 在这种情况下,仅当传递的值都不为 NULL 时,isset() 才会返回 true。
2.2. 不要使用 == 来检查值是否为 NULL。 这会给诸如评估为 false 的空字符串之类的值带来误报。
推荐学习:《PHP视频教程》
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。