PHP 8.1.0 Alpha 1 available for testing


Özel null değeri, değeri olmayan bir değişken anlamına gelir. null değerinin olası tek türü null'dur.

Bir değişken null türündeyse:

  • Kendisine null sabiti atanmış demektir.

  • Kendisine herhangi bir değer atanmamış demektir.

  • unset() işlevine aktarılmış demektir.


null türünde, harf büyüklüğüne duyarsız tek bir sabit vardır: null.


Ayrıca, is_null() ve unset() işlevlerine de bakınız.

null türüne çarpıtım


Bu özelliğin kullanımı PHP 7.2.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

(unset) $var kullanarak bir değişken null türüne çarpıtılırsa değişken kaldırılmaz fakat değersiz hale getirilmiş olur ve sadece null değer döndürür.

add a note add a note

User Contributed Notes 5 notes

10 years ago
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
hydrogen at live dot in
2 months ago
I would like to add for clarification that:


// $x is still NULL.
// Decrementing NULL, using Decrement Operator, gives NULL.

// $x is now int(-1).
// This actually decrements value by 1.

On the other hand, Incrementation works simply as expected.
Hope this helps :)
Hayley Watson
3 years ago
NULL is supposed to indicate the absence of a value, rather than being thought of as a value itself. It's the empty slot, it's the missing information, it's the unanswered question. It's not a jumped-up zero or empty set.

This is why a variable containing a NULL is considered to be unset: it doesn't have a value. Setting a variable to NULL is telling it to forget its value without providing a replacement value to remember instead. The variable remains so that you can give it a proper value to remember later; this is especially important when the variable is an array element or object property.

It's a bit of semantic awkwardness to speak of a "null value", but if a variable can exist without having a value, the language and implementation have to have something to represent that situation. Because someone will ask. If only to see if the slot has been filled.
3 years ago
Note: Non Strict Comparison '==' returns bool(true) for

null == 0 <-- returns true

Use Strict Comparison Instead

null === 0 <-- returns false
4 months ago
Pay attention then using operator -- on NULL values:

$x = null;
--$x;      // $x is NULL
$x--;      // still NULL
$x -= 1;   // $x is -1

On other side for ++ everything works fine:

$x = null;
++$x;      // $ix is 1
To Top