Heim >Backend-Entwicklung >PHP-Tutorial >PHP empty()与isset()与is_null()的区别

PHP empty()与isset()与is_null()的区别

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-20 12:53:53726Durchsuche

有关 PHP 的 empty(),isset() 还有 is_null() 这三个函数的用法讨论得已经很多了,而且很多资料也未必能说得很清楚。这里再重复一次,但不是从概念去说,直接用程序例子来说话,应该记忆会比较深刻些。

测试的类型如下:

<?php$a;$b = false;$c = '';$d = 0;$e = null;$f = array();?>



empty()

首先是empty的var_dump输出:

<?phpvar_dump(empty($a));var_dump(empty($b));var_dump(empty($c));var_dump(empty($d));var_dump(empty($e));var_dump(empty($f));?>



程序输出为:

bool(true)bool(true)bool(true)bool(true)bool(true)bool(true)



从代码中可以看出,只要数据类型是否为空或假,empty()就输出true。


isset()

再看看isset的输出:

var_dump(isset($a));var_dump(isset($b));var_dump(isset($c));var_dump(isset($d));var_dump(isset($e));var_dump(isset($f));// 输出bool(false)bool(true)bool(true)bool(true)bool(false)bool(true)



可以看出isset()只能用来判断是否为NULL和未定义。


is_null()

最后是is_null的输出:

var_dump(is_null($a));var_dump(is_null($b));var_dump(is_null($c));var_dump(is_null($d));var_dump(is_null($e));var_dump(is_null($f));// 输出bool(true)bool(false)bool(false)bool(false)bool(true)bool(false)



is_null 字面意思了。

由此可见 empty() 可以用来判定所有的数据类型是否为空或假,而 is_null 与 isset 基本一样,只能用来判断是否为NULL和未定义


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHPExcel初学纪要Nächster Artikel:如何判断包含某个中文字?