empty

作用:

检查一个变量是否为空

说明:

bool empty ( mixed $var )

判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。

返回值

当var存在,并且是一个非空非零的值时返回 FALSE 否则返回 TRUE.
以下的东西被认为是空的:
"" (空字符串)
0 (作为整数的0)
0.0 (作为浮点数的0)
"0" (作为字符串的0)
NULL
FALSE
array() (一个空数组)
$var; (一个声明了,但是没有值的变量)

isset()函数:检测变量是否设置

说明:

bool isset ( mixed $var [, mixed $... ] )

检测变量是否设置,并且不是 NULL。

如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。

若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数。

返回值:

如果 var 存在并且值不是 NULL 则返回 TRUE,否则返回 FALSE。

$var = '';//这里单引号中间虽然没有东西,但是不等同于null
// 结果为 TRUE,所以后边的文本将被打印出来。
if (isset($var)) {echo "This var is set so I will print.";
}// 在后边的例子中,我们将使用 var_dump 输出 isset() 的返回值。
// the return value of isset().$a = "test";
$b = "anothertest";var_dump(isset($a));      // TRUE
var_dump(isset($a, $b)); // TRUEunset ($a);// 释放给定的变量var_dump(isset($a));     // FALSE
var_dump(isset($a, $b)); // FALSE$foo = NULL;
var_dump(isset($foo));   // FALSE
$a = array ('test' => 1, 'hello' => NULL, 'pie' => array('a' => 'apple'));var_dump(isset($a['test']));            // TRUE
var_dump(isset($a['foo']));             // FALSE  //这个结果非常有意思,php中居然没有foo这个key居然都可以进行判断,和下面的$a['pie']['b'])以及cake那个都是一样,只不过结果就是false
var_dump(isset($a['hello']));           // FALSE// 键 'hello' 的值等于 NULL,所以被认为是未置值的。
// 如果想检测 NULL 键值,可以试试下边的方法。
var_dump(array_key_exists('hello', $a)); // TRUE// Checking deeper array values
var_dump(isset($a['pie']['a']));        // TRUE
var_dump(isset($a['pie']['b']));        // FALSE
var_dump(isset($a['cake']['a']['b']));  // FALSE

array_key_exists

---检查给定的键名或索引是否存在于数组中

说明:

bool array_key_exists ( mixed $key , array $search )

参数:

key:要检查的键。
search:一个数组,包含待检查的键。

返回:

array_key_exists() 在给定的 key 存在于数组中时返回 TRUE。key 可以是任何能作为数组索引的值。array_key_exists() 也可用于对象。

<?php
$search_array = array('first' => 1, 'second' => 4);
if (array_key_exists('first', $search_array)) {echo "The 'first' element is in the array";
}
?>
<?php
$search_array = array('first' => null, 'second' => 4);// returns false
isset($search_array['first']);// returns true
array_key_exists('first', $search_array);
?>

Note:

为了向下兼容,可以使用下列已废弃的别名: key_exists()

Note:
For backward compatibility (协调、兼容)reasons, array_key_exists() will also return TRUE if key is a property defined within an object given as search. This behaviour should not be relied upon, and care should be taken to ensure that search is an array.
To check whether a property exists in an object, use property_exists().

翻译:

数组使用的是array_key_exists()

对象使用的是property_exists().---检查对象或类是否具有该属性

【php】empty()详解相关推荐

  1. php isset()与empty()详解

    bool isset(mixed var);[;mixed var[,...]] 这个函数需要一个变量名称作为参数,如果这个变量存在,则返回true,否则返回false. 也可以传递一个由逗号间隔的变 ...

  2. php empty详解

    判断字符串是否为空,可以这么判断: if ($value=="") ...     * 格式:bool empty ( mixed var )     * 功能:检查一个变量是否为 ...

  3. numpy.empty详解

    numpy.empty 用例: numpy.empty(shape, dtype=float, order='C') 功能: 根据给定的维度和数值类型返回一个新的数组,其元素不进行初始化. 参数 变量 ...

  4. empt注意事项 php_php empty详解

    判断字符串是否为空,可以这么判断: if ($value=="") ... * 格式:bool empty ( mixed var ) * 功能:检查一个变量是否为空 * 返回值: ...

  5. html5中的empty是啥,什么是empty选择器?empty选择器详解

    本篇文章给大家带来的内容是关于什么是empty选择器?empty选择器详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在CSS3中,:empty选择器用于选择一个不包含任何子元素 ...

  6. 详解BLE 空中包格式—兼BLE Link layer协议解析

    BLE有几种空中包格式?常见的PDU命令有哪些?PDU和MTU的区别是什么?DLE又是什么?BLE怎么实现重传的?BLE ACK机制原理是什么?希望这篇文章能帮你回答以上问题. 虽然BLE空中包(pa ...

  7. Rocksdb 写流程,读流程,WAL文件,MANIFEST文件,ColumnFamily,Memtable,SST文件原理详解

    文章目录 前言 Rocksdb写流程图 WAL 原理分析 概述 文件格式 查看WAL的工具 创建WAL 清理WAL MANIFEST原理分析 概述 查看MANIFEST的工具 创建 及 清除 MANI ...

  8. startActivityForResult和setResult详解

    startActivityForResult和setResult详解 原文:startActivityForResult和setResult详解 startActivityForResult与star ...

  9. ORB-SLAM2代码/流程详解

    ORB-SLAM2代码详解 文章目录 ORB-SLAM2代码详解 1. ORB-SLAM2代码详解01_ORB-SLAM2代码运行流程 1 运行官方Demo 1.2. 阅读代码之前你应该知道的事情 1 ...

最新文章

  1. Docker核心技术之容器详解
  2. JS在即将离开当前页面(刷新或关闭)时触发事件
  3. python一级考试题目_全国青少年软件编程(Python)等级考试试卷(一级)br测试卷-20191114123907422...
  4. Flask实战2问答平台-问答详情完成
  5. 【python】数据结构与算法之选择排序
  6. wordpress如何让百度快速收录_如何解决百度收录问题 - 百度蜘蛛池
  7. Liskov替换原则(LSP)
  8. redis scan 效率太慢_阿里云的redis规范
  9. html5 命运之轮生产
  10. 【历史上的今天】11 月 14 日:微软发布 PowerShell;彼得·诺顿出生;Firefox 更换内核
  11. 华为光伏usb适配器_华为P40无线充电手机壳拆解:1款配件补上22.5W无线快充
  12. 麒麟服务器开启多个终端,厉害:麒麟多开同步器
  13. Deecamp2019年试题A卷详解和感受
  14. 云原生这么火,你再不了解就out了
  15. TSL237 简介
  16. asp网站如何设置默认页_IIS 7.5 在 Windows Server(R) 2008 R2
  17. ubuntu 8.04下安装yEd
  18. 什么软件能测试gps高度,‎App Store: GPS海拔测量仪-实时高度测量海拔表
  19. 漫画:大鱼吃小鱼,小鱼吃虾米。小鱼为什么不能躲起来?
  20. Whitestorm.js入门

热门文章

  1. c语言6行6列元素奇数的个数,C语言任意输入n个整数,分别统计奇数的和.奇数的个数.偶数的和.偶数的个数....
  2. 如何把excel日期格式转换成文本日期格式
  3. 传统的冒泡排序(一)
  4. 联想笔记本电脑开机后一直黑屏的解决办法
  5. 奇点临近-人工智能的时代已经来了
  6. 104 货仓选址(绝对值不等式)
  7. 网管到底要学什么(一)
  8. 计算机硕士可以入伍么,2021年下半年“征兵”已开始,大学生在校入伍好,还是毕业入伍好...
  9. 最简单方法!!用python生成动态条形图(解决报错问题!)
  10. Eclipse的架构