Note: empty array is converted to null by non-strict equal '==' comparison. Use is_null() or '===' if there is possible of getting empty array.
$a = array();
$a == null <== return true
$a === null < == return false
is_null($a) <== return false
NULL
مقدار ویژه NULL یک متغیر بدون هیچ مقداری را نشان میدهد. NULL تنها مقدار ممکن برای نوع NULL است.
Note: نوع null در PHP 4 معرفی گشت.
یک متغیر null در نظر خواهد گرفته شد اگر:
-
اگر ثابت NULL به آن انتصاب داده شود.
-
هنوز مقداری به آن انتصاب داده نشده است.
-
unset() بوده است.
دستور
تنها یک نوع null وجود دارد و آن کلمه کلیدی غیر حساس به حروف بزرگ و کوچک NULL.
<?php
$var = NULL;
?>
تبدیل به NULL
تبدیل یک متغیر به null متغیر را حذف خواهد کرد و مقدار آن را از بین خواهد برد.
quickpick ¶
2 years ago
foxdie_cs at hotmail dot com ¶
9 months ago
a quick note about the magic function __get() :
<?php
class Foo{
protected $bar;
public function __construct(){
$this->bar = NULL;
var_dump( $this->bar ); //prit 'NULL' but won't call the magic method __get()
unset( $this->bar );
var_dump( $this->bar ); //print 'GET bar' and 'NULL'
}
public function __get( $var ){ echo "GET " . $var; }
}
new Foo();
?>
nl-x at bita dot nl ¶
5 years ago
Watch out. You can define a new constant with the name NULL with define("NULL","FOO");. But you must use the function constant("NULL"); to get it's value. NULL without the function call to the constant() function will still retrieve the special type NULL value.
Within a class there is no problem, as const NULL="Foo"; will be accessible as myClass::NULL.
rizwan_nawaz786 at hotmail dot com ¶
8 years ago
Hi
Rizwan Here
Null is the Constant in PHP. it is use to assign a empty value to the variable like
$a=NULL;
At this time $a has is NULL or $a has no value;
When we declaire a veriable in other languages than that veriable has some value depending on the value of memory location at which it is pointed but in php when we declaire a veriable than php assign a NULL to a veriable.
poutri_j at epitech dot net ¶
7 years ago
if you declare something like this :
<?php
class toto
{
public $a = array();
public function load()
{
if ($this->a == null) // ==> the result is true
$a = other_func();
}
}
?>
be carefull, that's strange but an empty array is considered as a null variable
ryan at trezshard dot com ¶
1 year ago
This simple shorthand seems to work for setting new variables to NULL:
<?php
$Var;
?>
The above code will set $Var to NULL
UPDATE: After further testing it appears the code only works in the global scope and does not work inside functions.
<?php
function Example(){
$Var;
var_dump($Var);
}
?>
Would not work as expected.
dward at maidencreek dot com ¶
11 years ago
Nulls are almost the same as unset variables and it is hard to tell the difference without creating errors from the interpreter:
<?php
$var = NULL;
?>
isset($var) is FALSE
empty($var) is TRUE
is_null($var) is TRUE
isset($novar) is FALSE
empty($novar) is TRUE
is_null($novar) gives an Undefined variable error
$var IS in the symbol table (from get_defined_vars())
$var CAN be used as an argument or an expression.
So, in most cases I found that we needed to use !isset($var) intead of is_null($var) and then set $var = NULL if the variable needs to be used later to guarantee that $var is a valid variable with a NULL value instead of being undefined.
Anonymous ¶
7 years ago
// Difference between "unset($a);" and "$a = NULL;" :
<?php
// unset($a)
$a = 5;
$b = & $a;
unset($a);
print "b $b "; // b 5
// $a = NULL; (better I think)
$a = 5;
$b = & $a;
$a = NULL;
print "b $b "; // b
print(! isset($b)); // 1
?>
cdcchen at hotmail dot com ¶
6 years ago
empty() is_null() !isset()
$var = "";
empty($var) is true.
is_null($var) is false.
!isset($var) is false.
