empty和isset的应用有几点不同?
Admin 2022-10-19 群英技术资讯 467 次浏览
都可以判定一个变量是否为空;
都返回boolean类型,即true或false。
empty() 函数用于检查一个变量是否为空。当一个变量并不存在,或者它的值等同于 FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。
isset() 函数用于检测变量是否已设置并且非 NULL。如果已经使用 unset() 释放了一个变量之后,再通过 isset() 判断将返回 FALSE。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是 null 字符("\0")并不等同于 PHP 的 NULL 常量。
对于 0、false、空字符串、空数组的判断上,empty() 可以识别为空,isset() 则不能识别。
// 对于未设置的变量的判断 if ( empty ( $a )) { echo "empty:变量为空" . "<br>" ; } else { echo "empty:变量不为空" . "<br>" ; } if (isset( $a )) { echo "isset:变量已设置且不为空" . "<br>" ; } else { echo "isset:变量未设置或变量为空" . "<br>" ; } ##结果 empty :变量为空 isset:变量未设置或变量为空 |
// 对于 "" (空字符串) 的判断 $a = "" ; if ( empty ( $a )) { echo "empty:变量为空" . "<br>" ; } else { echo "empty:变量不为空" . "<br>" ; } if (isset( $a )) { echo "isset:变量已设置且不为空" . "<br>" ; } else { echo "isset:变量未设置或变量为空" . "<br>" ; } ##结果 empty :变量为空 isset:变量已设置且不为空 |
// 对于 0 (作为整数的0) 的判断 $a = 0; if ( empty ( $a )) { echo "empty:变量为空" . "<br>" ; } else { echo "empty:变量不为空" . "<br>" ; } if (isset( $a )) { echo "isset:变量已设置且不为空" . "<br>" ; } else { echo "isset:变量未设置或变量为空" . "<br>" ; } ##结果 empty :变量为空 isset:变量已设置且不为空 |
// 对于 0.0 (作为浮点数的0) 的判断 $a = 0.0; if ( empty ( $a )) { echo "empty:变量为空" . "<br>" ; } else { echo "empty:变量不为空" . "<br>" ; } if (isset( $a )) { echo "isset:变量已设置且不为空" . "<br>" ; } else { echo "isset:变量未设置或变量为空" . "<br>" ; } ##结果 empty :变量为空 isset:变量已设置且不为空 |
// 对于 "0" (作为字符串的0) 的判断 $a = "0" ; if ( empty ( $a )) { echo "empty:变量为空" . "<br>" ; } else { echo "empty:变量不为空" . "<br>" ; } if (isset( $a )) { echo "isset:变量已设置且不为空" . "<br>" ; } else { echo "isset:变量未设置或变量为空" . "<br>" ; } ##结果 empty :变量为空 isset:变量已设置且不为空 |
// 对于 NULL 的判断 $a = null; if ( empty ( $a )) { echo "empty:变量为空" . "<br>" ; } else { echo "empty:变量不为空" . "<br>" ; } if (isset( $a )) { echo "isset:变量已设置且不为空" . "<br>" ; } else { echo "isset:变量未设置或变量为空" . "<br>" ; } ##结果 empty :变量为空 isset:变量未设置或变量为空 |
// 对于 FALSE 的判断 $a = false; if ( empty ( $a )) { echo "empty:变量为空" . "<br>" ; } else { echo "empty:变量不为空" . "<br>" ; } if (isset( $a )) { echo "isset:变量已设置且不为空" . "<br>" ; } else { echo "isset:变量未设置或变量为空" . "<br>" ; } ##结果 empty :变量为空 isset:变量已设置且不为空 |
// 对于 array() (一个空数组) 的判断 $a = array (); if ( empty ( $a )) { echo "empty:变量为空" . "<br>" ; } else { echo "empty:变量不为空" . "<br>" ; } if (isset( $a )) { echo "isset:变量已设置且不为空" . "<br>" ; } else { echo "isset:变量未设置或变量为空" . "<br>" ; } ##结果 empty :变量为空 isset:变量已设置且不为空 |
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
php如何对图片压缩处理?我们在开发时,有些需求需要对图片进行压缩处理,例如展示过大图片时,直接展示那么速度就会很慢,因此需要压缩图片。因此,这篇文章就给大家介绍一下php压缩图片的方法。
PHP PDO的预处理语句:1、位置参数,利用bindParam()函数,而非直接提供值。2、命名参数,将值/变量映射到查询中的命名位置。由于没有位置绑定,在多次使用相同变量的查询中非常有效。
PHP导出数据超时怎么办?一般来说PHP导出数据超时可能是sql语句复杂,查询时间过长、处理查询后数据逻辑冗余和数据量过大导致响应超时这三种情况造成的,想要解决超时问题优化必不可少,因此我们可以从这三方面入手优化。
在laravel中,路由命名的作用是生成路由,便于重定向;路由命名可以让特定路由方便地生成URL或重定向。开发者可以用name方法链接到路由来定义指定路由的名称。
类的变量成员叫做“属性”,或者叫“字段”、“特征”,在本文档统一称为“属性”。属性声明是由关键字 public,protected 或者 private 开头,然后跟一个普通的变量声...
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008