Resumo : neste tutorial, você aprenderá como usar a is_null()
construção PHP para verificar se uma variável é null
.
Introdução à construção is_null() do PHP
PHP is_null()
aceita uma variável e retorna true
se essa variável for null
. Caso contrário, ele retorna false
.
is_null(mixed $v): bool
Linguagem de código: PHP ( php )
Nesta sintaxe, the $v
é a variável a ser verificada. Caso $v
não exista, o is_null()
também retorna true
e emite aviso.
Como the is_null()
é uma construção de linguagem, não uma função , você não pode chamá-la por meio de funções variáveis . Por exemplo, a seguinte instrução resultará em um erro:
<?php
$f = is_null;
Linguagem de código: PHP ( php )
No entanto, você pode definir uma função que envolva a is_null()
construção assim:
<?php
function isnull($v): bool
{
return is_null($v);
}
Linguagem de código: PHP ( php )
Alternativamente, você pode definir uma função de seta , atribuí-la a uma variável e usar essa função de variável.
<?php
$isnull = fn($v) => is_null($v);
$color = null;
echo $isnull($color); // true
Linguagem de código: PHP ( php )
Exemplos de PHP is_null()
O exemplo a seguir usa a is_null()
construção e retorna true
porque a $count
variável não existe:
<?php
var_dump(is_null($count));
Linguagem de código: PHP ( php )
Este código também emite um aviso:
Notice: Undefined variable: $count
Linguagem de código: PHP ( php )
O exemplo a seguir usa is_null()
e retorna true
porque a $count
variável é null
:
<?php
$count = null;
var_dump(is_null($count)); // true
Linguagem de código: PHP ( php )
O exemplo a seguir usa is_null()
e retorna falso porque a $count
variável não é null
:
<?php
$count = 1;
var_dump(is_null($count)); // false
Linguagem de código: PHP ( php )
PHP is_null() com array
O exemplo a seguir usa o is_null()
para verificar se o elemento com a chave link
é null
ou não. Ele retorna true
porque o elemento não existe:
<?php
$colors = [
'text' => 'black',
'background' => 'white'
];
var_dump(is_null($colors['link']));
Linguagem de código: PHP ( php )
Ele também retorna um aviso:
Notice: Undefined index: link
Linguagem de código: PHP ( php )
PHP is_null() com índice de string
O exemplo a seguir usa o is_null()
para verificar se o elemento no índice 5 da string $message
é nulo ou não:
<?php
$message = 'Hello';
var_dump(is_null($message[5]));
Linguagem de código: PHP ( php )
Ele retorna falso e emite um aviso:
PHP Notice: Uninitialized string offset: 5
Linguagem de código: PHP ( php )
PHP is_null(), operador igual (==) e operador de identidade (===)
O echo exibe uma string vazia para o valor falso, o que não é intuitivo. O seguinte define uma função que exibe false como a string false em vez de uma string vazia:
<?php
function echo_bool(string $title, bool $v): void
{
echo $title, "\t", $v === true ? 'true' : 'false', PHP_EOL;
}
Linguagem de código: PHP ( php )
Comparando valores falsos com nulos usando o operador igual (==)
Comparar um valor falso com null
o uso do operador igual ( ==
) retornará true
. Por exemplo:
O exemplo a seguir compara null
com valores falsos usando o operador igual ( ==
):
<?php
function echo_bool(string $title, bool $v): void
{
echo $title, "\t", $v === true ? 'true' : 'false', PHP_EOL;
}
echo_bool('null == false:', null == false);
echo_bool('null == 0:', null == 0);
echo_bool('null == 0.0:', null == 0.0);
echo_bool('null =="0":', null == false);
echo_bool('null == "":', null == '');
echo_bool('null == []:', null == []);
echo_bool('null == null:', null == null);
Linguagem de código: PHP ( php )
Saída:
null == false: true
null == 0: true
null == 0.0: true
null =="0": true
null == "": true
null == []: true
null == null: true
Linguagem de código: texto simples ( texto simples )
Comparando valor falso com nulo usando o operador de identidade (===)
O exemplo a seguir usa o operador de identidade (===
) para comparar valores nulos com valores falsos, null === null
retorna apenas true
.
<?php
function echo_bool(string $title, bool $v): void
{
echo $title, "\t", $v === true ? 'true' : 'false', PHP_EOL;
}
echo_bool('null === false:', null === false);
echo_bool('null === 0:', null === 0);
echo_bool('null === 0.0:', null === 0.0);
echo_bool('null ==="0":', null === false);
echo_bool('null === "":', null === '');
echo_bool('null === []:', null === []);
echo_bool('null === null:', null === null);
Linguagem de código: texto simples ( texto simples )
Saída:
null === false: false
null === 0: false
null === 0.0: false
null ==="0": false
null === "": false
null === []: false
null === null: true
Linguagem de código: PHP ( php )
Comparando valores falsos com null usando PHP is_null()
O exemplo a seguir usa o is_null()
para verificar se os valores falsos são null
:
<?php
function echo_bool(string $title, bool $v): void
{
echo $title, "\t", $v === true ? 'true' : 'false', PHP_EOL;
}
echo_bool('is_null(false):', is_null(false));
echo_bool('is_null(0):', is_null(0));
echo_bool('is_null(0.0)', is_null(0.0));
echo_bool('is_null("0"):', is_null("0"));
echo_bool('is_null(""):', is_null(""));
echo_bool('is_null([]):', is_null([]));
echo_bool('is_null(null):', is_null(null));
Linguagem de código: PHP ( php )
Saída:
is_null(false): false
is_null(0): false
is_null(0.0) false
is_null("0"): false
is_null(""): false
is_null([]): false
is_null(null): true
Linguagem de código: PHP ( php )
O is_null()
operador de identidade e ( ===
) retorna o mesmo resultado.
Resumo
- O
is_null()
verifica um valor e retornatrue
se esse valor fornull
. Caso contrário, ele retornafalse
. - O
is_null()
se comporta da mesma forma que o operador de identidade (===
).