$ a =''之间的差异; 和$ a = NULL; 在PHP [重复]

Possible Duplicate:
In PHP, what is the differences between NULL and setting a string to equal 2 single quotes.

What does $a=''; indicates in php

and how $a=''; is different than $=NULL:

do you mean $a = '' or $ a = ""

If so $a = "" or '' means that variable $a is being set equal to an empty string. In contrast $a = NULL means that variable $a is being set to a special PHP constant NULL which is effectively nothing. The major difference is that $a = '' sets $a as a string variable whereas $a = NULL doesn't. This tends to matter more in languages that require strict declaration of variable types.

See here for more info on NULL: http://php.net/manual/en/language.types.null.php

NULL is an unkown value, '' is an empty string.

NULL indicates no value, it's like an unset variable. An empty string IS a value, and a variable containing an empty string IS defined.

<?php

$a = '';
echo '$a = \'\'';
var_dump( ($a == ''), ($a === ''), (is_null($a)) );

$a=null;
echo '$a = null';
var_dump( ($a == ''), ($a === ''), (is_null($a)) );

output:

$a = ''
boolean true
boolean true
boolean false
$a = null
boolean true
boolean false
boolean true