PHP empty函数判断0返回真还是假?

最近项目中,遇到一个字段是 “是否启用”值为0,1 在查询时没想就写了

if ( isset($args_array[‘useFlg‘]) && !empty($args_array[‘useFlg‘]) ) {
.....
}

于是查不到为0的时候,想了一下,应该是0是被认为是空.应该这样:

if ( isset($args_array[‘useFlg‘]) && in_array($args_array[‘useFlg‘] , array(0,1)) ) {
.....
}

看了下php手册,备忘:

如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""0"0"NULLFALSEarray()var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE

<?php
$var = 0;

// 结果为 true,因为 $var 为空
if (empty($var)) {
    echo ‘$var is either 0 or not set at all‘;
}

// 结果为 false,因为 $var 已设置
if (!isset($var)) {
    echo ‘$var is not set at all‘;
}
?>
The following things are considered to be empty:

"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
var $var; (a variable declared, but without a value in a class)

手册参见:http://php.net/manual/zh/function.empty.php

时间: 2024-11-08 22:08:28

PHP empty函数判断0返回真还是假?的相关文章

php 中 isset()函数 和 empty()函数的区别

首先这两个函数都是用来测试变量的状态: isset()函数判断一个变量是否在 如果存在返回true  否则返回false empty()函数判断一个变量是否为空,如果为空返回true 否则返回false 变量值为0函数返回也为空 这是两者的的区别  如果想回true 它的值应为非空和非0: 页面输出结果为:如果是0为空.

js判断0==“”的解决办法

想要的效果:比如说返回 25%  12.5% 33.33% 有几位小数就显示几位,就用 a=Math.round(a*100)/100 如果想要强制返还两位小数,就使用 a=a.toFixed(2); 问题2:JavaScript中判断 0=="" 返回true,所以要使用=== 在 JavaScript 里,null,0,””,false,和 undefined 全部彼此相等(==),因为它们的计算值都为 ‘false 问题3:JavaScript的短路效应 对于逻辑运算符&

js 判断 0&lt;15&lt;30返回值是 true

与java不一样,因为js是弱语言 0<15 返回布尔类型 true,表达式变成true<30, js 有默认类型转换机制,表达式true<30 中的true会 转换成number类型 1,从而变成1< 30,就得到true; 总结:一般不要适应,if(0<15<30)这种,一般用&&  或者 || : js中null,NaN,'',undefined,false,0都为false,js中的对象,数值出了0都为true, var x={o:0,p:1,q

empty函数 和 is_开头的内置函数

这里我们就如下类型进行测试: $a; $b = false; $c = ''; $d = 0; $e = '0'; $f = null; $g = 'null'; $h = array(); $i = array(array()); 先来看看empty函数的输出结果: var_dump(empty($a)); //true var_dump(empty($b)); //true var_dump(empty($c)); //true var_dump(empty($d)); //true var

深入浅出JavaScript函数 v 0.5

本文的观点是建立在<JavaScript权威指南 6th Ed> <JavaScript高级编程 3th Ed> <JavaScript精粹 2th Ed>之上, 笔者将尽所能将概念.原理叙述清楚,由于笔者水平有限,理解不当之处在所难免,请读者不吝交流. 目录 1 什么是函数? 2 函数就是对象! 3 函数字面量(函数表达式) 4 函数调用 4.1 方法调用模式 4.2 函数调用模式 4.3 构造器调用模式 4.4 间接调用模式 5 函数的参数与返回值 6 扩充类型的功

delphi 函数isiconic 函数 判断窗口是否最小化

http://blog.sina.com.cn/s/blog_66357ab901012t2h.html delphi 函数isiconic 函数 判断窗口是否最小化 (2012-05-26 22:00:21) 转载▼ 标签: 杂谈   The IsIconic function determines whether the specified window is minimized (iconic). 函数isiconic返回值取决于指定窗口是否已经最小化. BOOL IsIconic(HWN

PHP中的 empty() 函数和 isset() 函数

在开发过程中,经常会遇到判断变量存不存在以及是否为空的情况,特别是数组,如果访问数组的一个不存在的元素的话,会有Notice级别的错误爆出来,也是一种逻辑不严谨的表现. 首先,看一下 empty() 函数: 判断一个函数是否为空.那么在PHP中,什么样的情况被看成是空呢?第一种是这个变量不存在:第二种是这个变量的值相当于 FALSE.也就是说 empty($var) 相当于 !isset($var) || $var == FALSE. 再来看isset()函数: 判断一个变量存在并且他的值不等于

decode 函数判断大于小于等于的情况

decode函数可以对查询的结果进行替换,decode 实际上的功能和if语句类似. decode(var,var1,value1,var2,value2,var3,value3) 等价于 if var=var1 then ...else if var=var2 then ...else var=var3 then ... 但是仅限于等于情况,如果是判断大于小于的情况,比如if a>b这种情况,仅仅使用decode是无法实现的,需要加入sign()函数. sign函数的功能很简单,sign(va

通过fstat函数判断描述符类型

fstat函数用于返回关于文件的信息到一个struct stat结构中,stat结构中的st_mode可以用来区分文件类型. struct stat { dev_t st_dev; /* ID of device containing file */ ino_t st_ino; /* inode number */ mode_t st_mode; /* protection */ nlink_t st_nlink; /* number of hard links */ uid_t st_uid;