2024-09-15 16:17:34 | 我爱编程网
PHP 中 empty 和 isset 函数都用于检测给定参数目标情况,其区别如下:
一、函数功能设计所实现的目标不一样:
empty 主要用于:检测给定参数目标是否是“空值”。
isset 主要用于:检测给定参数目标是否设置。
empty 函数检测一个变量是否为以下空值:
isset 函数虽然也会检测给定变量是否为 NULL 的情况,但更主要的目的用于检测给定目标参数是否设置。
从以下实际代码实例中,可能更明显看出两者的区别:
<?php
function MyTest($test)
{
// 判断 $var 变量是否为空
if (empty($test))
echo '$var 变量是空值。<BR>';
else
echo '$var 变量不是空值。<BR>';
// 判断 $var 变量是否设置
if (isset($test))
echo '$var 变量已经设置(即使$var=0)。<BR>';
else
echo '$var 变量没有设置。<BR>';
}
$var = NULL;
echo '判断目标参数:$var = NULL:<BR>';
MyTest($var);
echo '<BR>';
$var1 = 1;
echo '判断目标参数:$var1 = 1:<BR>';
MyTest($var1);
echo '<BR>';
$var2 = 0;
echo '判断目标参数:$var2 = 0:<BR>';
MyTest($var2);
echo '<BR>';
?>
上面代码的实际运行结果:
二、参数数量不同:
empty 只能检查一个变量,而 isset 可以检查多个变量。
empty()函数是用来测试变量是否已经配置。若变量已存在、非空 字符串 或者非零,则返回 false 值;反之返回 true值。所以,当字符串的值为0时,也返回true,就是执行empty内部的语句。这就是陷阱。
如: 假设 $value = 0; 则empty($value)=false。
判断字符串是否为空,可以这么判断: if ($value=="") ...
扩展资料:
以下的变量会被认为是空的:
"" (空字符串)
0 (作为整数的0)
0.0 (作为 浮点数 的0)
"0" (作为字符串的0)
NULL
FALSE
array() (一个空数组)
$var; (一个声明了,但是没有值的变量)
我爱编程网(https://www.52biancheng.com)小编还为大家带来php中isset()&&!empty()与empty()有什么区别?的相关内容。
empty()关注的是变量是否为空,其判断前提强调变量内容在判断之前最好没有值。在这一假设下,empty的内涵易于理解。变量不存在,当然没有值;变量存在但未初始化,或为NULL,满足没有值的要求;变量存在,不为NULL,值为零、空字符串、布尔false等,同样满足没有值的要求,表示变量从归零开始。empty涉及变量是否存在、是否未初始化或含有表示起点的值,这三个维度层次分明。php判断mysql数据库是否为空$sql="...这里是查询该字段的sql语句...";$query=mysql_query($sql);@$result=mysql_fetch_array($query);//判断开始这里默认该字段为nameif(!empty($result['name'])){echo"不为空";}else{echo"为空也就是你要输出a的
smarty上判断PHP里传过来的数组为空否,可以用empty函数吗在smarty中数组是经常会用到的,循环遍历数组用section或者foreach,那么如何来判断一个数组是否为空呢,下面介绍两种方法:1,用count来取得数组的下标个数下面例子中,如果$array为空则不输出任何数据以下为引用的内容:{if$array|@countneq0}......{/
谁能给我解释下PHP类中的这个构造函数,使用的是数组作为参数.第1个contruct构造函数,正如一般构造函数的基本功能一样:对类成员属性进行实始化。代码中,如果检测到传入的参数是个数组,就遍历数组,然后用$this->$key=$val;进行类成员属性的初始化。这里$key就是类成员属性的名称,而$val是应该赋予的初始值。请问在PHP里是如何把数组作为参
php如何传递类参数PHP类中,可能有多个属性参数。当使用new创建一个对象的时候,可能需要完成初始化操作,需要从外边传递参数进来。下面演示具体过程:<?phpclass Test { //定义私有变量name ,age private $name, $age; //构造函数,初始化的时候最先执行 public function __construct($name, $age
如何判断PHP数组是否为空判断PHP数组是否为空,具体有五种方法:1:isset功能:判断变量是否被初始化说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右<?php$a='';$a['c']='';if(!isset($a))ech
php对没有赋值的变量不是应该输出为“NULL”吗。为什么在if函数里面不能判断?null应该是空的意思,空不能指定其变量类型,故if无法判断,此外你在if之前不是赋值了么!只不过赋值的方式不正确。你可以判断他的结果是true还是FALSE。而不是null,因为null用""就可以表示phpIF函数的用法phpIF函数的用法:if语句用于在指定条件为true时执行代码。语
函数EMPTY(0)和ISNULL(0)的返回值分别是什么在PHP中变量是以C语言的结构体来存储的,其中这个结构体有个zend_uchartype;这样的成员变量,他是用来保存变量的类型的。于是"",false,NULL(null不区分大小写)在===判定的时候以变量类型进行区分。在下列情况下一个变量被认为是NULL:1.被赋值为NULL。2.尚未被赋值。3.被uns
PHP设计一个判断某年是否是闰年的函数然后调用输出结果?<?php$year=mt_rand(1900,2200);//从1900年到2200,可以自己改,也可以给一个定值。if($year%100==0){//判断世纪年if($year%400==0&&$year%3200!=0){echo"世纪年".$year."是闰年!";//世纪年里的闰年}
2025-02-01 20:24:39
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01
2024-09-10 08:50:00