Qual a diferença entre empty e isset e isnull

Qual a diferença entre empty e isset e isnull
Figura 1 - Qual a diferença entre empty e isset e isnull
Curtiu? Compartilhe!
  •  
  •  
  •  
  •  
  •  
  •  

Em qualquer linguagem de programação é necessário ter um bom entendimento dos tipos de dados que uma variável pode assumir e quando estamos manipulando esses, é muito comum nos confundimos com o que viria a ser uma string vazia, nula ou falso e também se esse valor já está setada na memória do computador etc…

Para isso podemos contar com três funções principais são elas: empty(), isset() e is_null(). Todas elas irão fazer o trabalho de comparação e retornar um booleano TRUE ou FALSE.

Mas antes de vermos as particularidades de cada função é essencial ter um bom entendimento sobre variáveis do tipo FALSE já que todos os três métodos apresentados a seguir fazem comparação booleana.


Método empty()

Determina se uma variável é considerada vazia. Uma variável é considerada vazia se não existir ou seu valor é igual FALSE. A função empty() não gera um aviso se a variável não existir.

Usando o método empty()

Vou declarar um array com os principais valores que uma variável pode assumir e comparar seus valores se é vazio ou não.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
 
$teste= array(
 'zero'= 0,
 'string_vazia'= '',
 'booleano'= FALSE,
 'null'= NULL,
 'integer'= 21,
 'array'= array()
);
 
foreach($teste as $variavel => $valor){
  echo $variavel. ' tem '; var_dump( empty($valor) ); echo '<br>';
}
 
/*
######### O que irá imprimir na tela  ##########
zero tem bool(true) 
string_vazia tem bool(true) 
booleano tem bool(true) 
null tem bool(true) 
integer tem bool(false) 
array tem bool(true) 
*/
 
?>

Note que para cada chave do array $teste está imprimindo se o booleano é FALSE ou TRUE.

Método isset()

Verifica se a variável é definida.

Usando o método isset()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$teste= array(
 'zero'= 0,
 'string_vazia'= '',
 'booleano'= FALSE,
 'null'= NULL,
 'integer'= 21,
 'array'= array()
);
 
foreach($teste as $variavel => $valor){
  echo $variavel. ' tem '; var_dump( isset($valor) ); echo '<br>';
}
 
/*
######### O que irá imprimir na tela  ##########
zero tem bool(true) 
string_vazia tem bool(true) 
booleano tem bool(true) 
null tem bool(false) 
integer tem bool(true) 
array tem bool(true) 
*/
 
?>

Método is_null()

O método is_null() informa se a variável é NULL.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
 
$teste= array(
 'zero'= 0,
 'string_vazia'= '',
 'booleano'= FALSE,
 'null'= NULL,
 'integer'= 21,
 'array'= array()
);
 
foreach($teste as $variavel => $valor){
  echo $variavel. ' tem '; var_dump( is_null($valor) ); echo '<br>';
}
 
/*
######### O que irá imprimir na tela  ##########
zero tem bool(false) 
string_vazia tem bool(false) 
booleano tem bool(false) 
null tem bool(true) 
integer tem bool(false) 
array tem bool(false)  
*/
 
?>

Escrito por

Formado em Ciência da Computação pela Universidade UNIP-SP é Analista de Sistemas, Desenvolvedor Web independente e criador da EduSites quando não está pesquisando novas tecnologias está curtindo sua bebê Larissa e jogando Forza 3 online.


Seja o primeiro a comentar

Deixe seu comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

*

*

Certificação W3C

Desenvolver Sites certificado pelo consorcio W3C é garantia que seu site segue rigorosos padrões de desenvolvimento Web.

Formas de pagamentos

Aceito os principais cartões de crédito.

Siga-me nas Redes Sociais