php - 为什么要同时检查 isset() 和 !empty()

标签 php

isset!empty 有区别吗?如果我做这个双重 bool 检查,这种方式是正确的还是多余的?有没有更短的方法来做同样的事情?

isset($vars[1]) AND !empty($vars[1])

最佳答案

这完全是多余的。 empty 或多或少是 !isset($foo) || 的简写。 !$foo,而 !empty 类似于 isset($foo) && $foo。 IE。 emptyisset 做相反的事情,并额外检查一个值的 真实性

或者换句话说,empty!$foo 相同,但如果变量不存在则不会抛出警告。这就是这个函数的要点:进行 bool 比较而不用担心设置的变量。

The manual是这样说的:

empty() is the opposite of (boolean) var, except that no warning is generated when the variable is not set.

您可以在此处简单地使用 !empty($vars[1])

关于php - 为什么要同时检查 isset() 和 !empty(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4559925/

相关文章:

php - 用PHPExcel制作Excel文件,每列写两次

php - 如何检测类属性是私有(private)的还是 protected

php - 导入带有 2 个合并列的 sql

php - MATCH AGAINST 找不到结果

php - PhalconPHP 与 Slim

php - HTML 表单不通过 PHP 处理器将数据发布到 MySQL 数据库

php - 在 shell 中运行连接到 mysql 数据库的 php 脚本

java - 在 Java 中不断检查和读取 PHP 文件以了解数据库更改的最简单/最有效的方法?

php - 查询带有单引号的文本的问题

php - 防止 PyroCMS 从所见即所得内容中剥离内联样式?