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中的不同