当前位置:编程学习 > asp >>

asp中IsNull 与 php中is_null的区别empty

asp中IsNull 与 php中is_null的区别:
一:asp中如果一个变量为定义或赋值为“”,或用Dim定义了,但未赋值  用 IsNull测试时都是 错误的;
<%
Dim strName
If IsNull(strName) Then
    Response.Write("asgaeh")
Else
    Response.Write("222")
End If
%>
无论有没有 Dim strName 或 strName = ”“  都输出 222


二:而php中 is_null 是检测变量是否为 NULL  没有定义时返回真;
<?php
if (is_null($name)) {
 echo '333';
} else {
 echo '222';
}
?>

返回333

注意:
IsNull是VB中的一种判断,判断取出的值是否是null,当然在SQL中也有这种形式的谓词,is null,这个谓词可以直接用在SQL语句中。如: select * from 表名 where 列名 is null 表示查询特定列为null的记录。这时如果在数据库中该列定义为允许空,而没有填写任何东西的则不会出现

说白了,在VB中isnull做为一个函数来判断SQL中是否传递了null型的值。VB中也存在这种类型的! isEmpty则是不同的,它的作用是判断字符串是否为空!当然同时也会判断VB中null值的类型

所以说三者的区别就是: isnull是一种类型测试,测试是否为空值(null)类型。 isEmpty是一种值测试,测试是否是空值。但这个不同语言中采用的方法不同。 =""是串测试,测试值是否为空值。  说一个isEmpty吧,在有些语言中isEmpty是一种空值测试,它可以测试以下内容:  dim str as string isEmpty(str)=True  str = "" isEmpty(str)=False  str = null isEmpty(str)=False   dim str as integer str = 0 isEmpty(str) = False   也就是部分语言中把数据中的0,字符中的空串,NULL值都作为空值的测试范畴。

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

asp中isempty 只要变量被赋值了,不管是""、0、"0"、NULL、FALSE 都返回false 这点与php中的不同

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,