这篇文章主要介绍了PHP中的isset()和!empty()函数有什么区别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
1.isset()
isset ( mixed $var , mixed $... = ? ) : bool
var:要检查的变量。
返回值:如果 var 存在并且值不是 null 则返回 true,否则返回 false。
PS:如果已经使用 unset()
释放了一个变量之后,它将不再是 isset()。若使用 isset()
测试一个被设置成 null 的变量,将返回 false。同时要注意的是 null
字符("\0")并不等同于 PHP
的 null 常量。如果一次传入多个参数,那么 isset()
只有在全部参数都以被设置时返回 true
计算过程从左至右,中途遇到没有设置的变量时就会立即停止。
<?php $num = '0'; if( isset( $num ) ) { print_r(" $num is set with isset "); } echo "<br>"; // 声明一个空数组 $array = array(); echo isset($array['geeks']) ? 'array is set.' : 'array is not set.'; ?>
输出:
0 is set with isset functionarray is not set. array is not set.
2.empty()
empty ( mixed $var ) : bool
var:待检查的变量
返回值:当var存在,并且是一个非空非零的值时返回 false
否则返回 true
.
<?php $temp = 0; if (empty($temp)) { echo $temp . ' is considered empty'; } echo "\n"; $new = 1; if (!empty($new)) { echo $new . ' is considered set'; } ?>
输出
0 is considered empty 1 is considered set
以下内容会被判定为空:
"" (空字符串)
0 (作为整数的0)
0.0 (作为浮点数的0)
"0" (作为字符串的0)
null
fals
earray() (一个空数组)
$var; (一个声明了,但是没有值的变量)
3.二者异同
isset()和!empty()
函数类似,两者都将返回相同的结果。但唯一的区别是!当变量不存在时,empty()
函数不会生成任何警告或电子通知。它足以使用任何一个功能。通过将两个功能合并到程序中会导致时间流逝和不必要的内存使用。
<?php $num = '0'; if( isset ( $num ) ) { print_r( $num . " is set with isset function"); } echo "\n"; $num = 1; if( !empty ( $num ) ) { print_r($num . " is set with !empty function"); } ?>
0 is set with isset function 1 is set with !empty function
感谢你能够认真阅读完这篇文章,希望小编分享的“PHP中的isset()和!empty()函数有什么区别”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。