0,null,empty,空,false,isset

<?php
header("Content-type: text/html; charset=utf-8");

$a=0;
//1.
if($a==0)
{
	echo $a;
}else
{
	echo "不等0";
}
echo "<hr>";

//2.变量$a等0不为真
if($a)
{
	echo $a;
}else
{
	echo "不等0";
}
echo "<hr>";

//3.empty — 检查一个变量是否为空
/*	如果 var 是非空或非零的值,则 empty() 返回 FALSE。
	换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE
	Note: empty() 只检测变量,检测任何非变量的东西都将导致解析错误。换句话说,后边的语句将不会起作用: empty(addslashes($name))。
*/
if(empty($a))
{
	echo $a;
}else
{
	echo "不等0";
}
echo "<hr>";

//4.null   0不等空
/*
特殊的 NULL 值表示一个变量没有值。NULL 类型唯一可能的值就是 NULL。

在下列情况下一个变量被认为是 NULL:
? 被赋值为 NULL。
? 尚未被赋值。
? 被 unset()。

转换到 NULL
将一个变量转换为 null 类型将会删除该变量并且unset它的值。
*/

if($a=null)
{
	echo $a;
}else
{
	echo "不等0";
}
$b=null;
if($b==null)
{
	var_dump($b);
}else
{
	echo "没有值";
}
echo "<hr>";

//5.isset — 检测变量是否设置
/*

Note: 警告
isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。
*/

if(isset($a))
{
	echo $a;
}else
{
	echo "不等0";
}
echo "<hr>";

//6.is_null — 检测变量是否为 NULL
/*
如果 var 是 null 则返回 TRUE,否则返回 FALSE。
*/

/*

结果:

0
不等0
0
不等0  NULL
不等0

*/

 ?>
时间: 2024-12-29 07:28:48

0,null,empty,空,false,isset的相关文章

php 0,null,empty,空,false,字符串关系(转)

在php中由于是弱类型语言,不同类型值之间可以隐式转换,使得false,null,”,0,’0′这几个值的比较有些混乱,现总结一下: //相等判断 '' == NULL == 0 == false (相等)array() = 0 == NULL == false (相等)array() <> '' (不相等) //恒等判断//任何两个数比较都不恒等 var_dump(false == FALSE); //bool(true)var_dump(false === FALSE); //bool(t

PHP中空字符串介绍0、null、empty和false之间的关系

0是数字,是empty,是false,不是null,值相当于空字符串,但类型不是字符串,去空格或强制转换为字符串型时不等于空字符串 ""的值相当于0,是empty,是空字符串,是false,不是null,不是数字字符串 null的值相当于空字符串,值相当于0,是empty,是false,不是字符串,不是数字0 "=="只要值相等就满足条件: "==="需要两个变量的值和类型都相等: strval();将变量转换为字符串类型: intval();将

PHP:empty,isset,is_null,array(0),array(),array(&quot;&quot;),0,&quot;0&quot;,&quot;&quot;,&quot;null&quot;,NULL的总结

通过下面这个程序来检测 $a=0; if(empty($a)){ echo "yes|"; }else{ echo "no|"; } if(isset($a)){ echo "yes|"; }else{ echo "no|"; } if(is_null($a)){ echo "yes|"; }else{ echo "no|"; } if($a){ echo "yes|"

php 语法里0不等于null为空的解决办法

今天做信息收集页面时遇到一个奇怪的问题,研究了好久才发现问题的根源,的确是有点怪异. (小弟常使用的是 C# , java 等语言, php只是偶尔在用,不是研究很深).请各位资深php程序员别见笑 问题是这样的: php 语句里 (0 !=null && 0 >=0), 返回的结果为空,这点真的好奇怪. 实验总结: php 语句如下: $index=0; echo "A: ".$index."<br>";  //0 echo  &

关于JavaScript中0、空字符串、&#39;0&#39;是true还是false的总结

最近被问到关于js中空字符串是true还是false得问题,一时间没想起来,现在在chrome的console面板上输出代码测试一下. "" == false 结果是true   在js中空字符串与0相等  即空字符串等于false 0 == false  结果是tue   比较的时候 布尔类型的转换成number类型  false 为0  true 为1 “0” == fase 结果是true  字符串准成number Boolean("0") 结果是true 

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

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

C++ NULL 与 空字符串 在使用时的注意点

在这不做 理论上的 释疑,只是提供示例代码 int main() { char *p=NULL; if (p==NULL) // { p="p is NULL pointer"; } printf("%s\n",p); return 0; } //此处说明:在定义 指针p的同时使用 NULL 对p进行初始化,若是在比较的时候用 p[0] == '\0' 则会报错//   原因是 p不指向任何变量,对p进行[]操作非法//   变量所指的范围 包括 普通的内置变量,自

Fastjson输出null为空字符串

JSONObject.toJSONString(Object object, SerializerFeature... features) SerializerFeature有用的一些枚举值 QuoteFieldNames———-输出key时是否使用双引号,默认为true WriteMapNullValue——–是否输出值为null的字段,默认为false WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null WriteNullListAsEmpty—–L

null、空对象和undefined

null:是对象,但是空引用(不指向任何对象) 空对象:是对象,但它的值是指向没有任何属性的对象的引用 undefined:未定义,所以不是对象,本身被定义为“undefined”这一特殊类型 1. null 参与数值运算时其值会自动转换为 0 ,因此,下列表达式计算后会得到正确的数值: 表达式:123 + null 结果值:123 表达式:123 * null 结果值:0 2. undefined参与任何数值计算时,其结果一定是NaN. 3. alert(typeof undefined);