PHP isset: o que é e quando usar essa função no PHP?

A função PHP isset() vem sendo utilizada desde a versão 4 da linguagem. Como veremos, é um recurso bastante necessário no desenvolvimento de inúmeros tipos de projetos e aplicações web. As pessoas programadoras mais experientes entendem muito bem a importância de sabermos se uma variável já foi iniciada antes de usá-la — ainda mais em sistemas complexos e com requisitos de segurança.

Já para os iniciantes em PHP, o uso e a importância da função isset() pode não ser tão óbvia, talvez, por desconhecimento dessa função, de sua implementação ou, até mesmo, de ambas. Mesmo com a necessidade de verificação de existência das variáveis sendo imprescindível em sistemas mais robustos, é bom dar atenção ao seu uso desde o começo — visando a manter as boas práticas.

Sabendo dessas questões, trazemos este guia sobre a função isset() e seus diversos usos práticos na linguagem PHP. Abordaremos as questões teóricas de maneira simples, mas completa o suficiente para você compreender os principais aspectos desse recurso. Os tópicos que você encontrará, a seguir, são:

Vamos lá?

O que é a função PHP isset e para que serve?

Para compreendermos melhor sobre a implementação da função isset(), em PHP, ajudará muito saber, antes, o significado dessa expressão proveniente da língua inglesa. “Is set” pode ser traduzido como “isso é definido”. A função isset() é utilizada para a checagem de determinada variável quando precisamos saber se ela está vazia ou já está configurada com algum valor.

A resposta dessa função será booleana, ou seja, sempre compreenderá entre verdadeiro ou falso. Importante ressaltar, também, que em caso de a variável ser nula — não existir ou ser declarada como o valor “null” — o valor retornado da função isset() sempre será o booleano “false”, em vez de “true”. Por exemplo:

<?php
$var1;
var_dump(isset($var1));
?>

Teremos a seguinte impressão no console:

bool(false)

Mas isso não acontece se a variável é declarada com o valor de 0. Mesmo sendo um valor nulo, ainda é um valor declarado para o isset(). Veja esse exemplo:

<?php
$var_a;

// Verdadeiro, pois o valor declarado é 0.
if (isset($var_a)) {
  echo "A variável A está declarada — seu valor é 0.";  
} else {
  echo "A variável A NÃO está declarada.";
    
}
?>

Note que, nesse pequeno programa, pedimos para que a função isset() verifique se a nossa variável está declarada com algum valor. A saída no console será essa, já que a variável “var_a” satisfaz essa condição — é verdadeira, portanto:

A variável A está declarada — seu valor é 0.

Use esse código em sua IDE ou em algum editor online em PHP. Note que, se apagarmos o valor da variável (ou a identificarmos como “NULL”), a resposta impressa no console será diferente!

Quando é necessário implementar a função isset() no PHP?

De maneira resumida, a função PHP isset() é utilizada quando, durante o desenvolvimento de nossos sistemas, precisamos saber se ela já foi previamente definida em algum momento no código. Usar esse tipo de verificação é considerado uma boa prática entre as pessoas desenvolvedoras de software — a validação de dados é algo muito importante quando trabalhamos com aplicações para a web.

A função unset()

Uma função que é muito parecida com a utilizada para a verificação das variáveis é a unset(). Com ela, não fazemos a verificação, mas reiniciamos o valor de dada variável em nosso código. Confira um exemplo de implementação da função unset() e seu funcionamento:

<?php
$var_a = 1;
unset($var_a);

if (isset($var_a)) {
  echo "A variável A está declarada — seu valor é 1.";  
} else {
  echo "A variável A NÃO está declarada.";
}
?>

Perceba que declaramos a variável var_a com o valor 1 e, em seguida, usamos a função unset() para apagar o valor — o que faz nosso pequeno programa retornar como falso, pois não há mais valor declarado para essa variável. Portanto, tanto o isset() quanto o unsset() são usados na verificação e manipulação de variáveis durante a implementação de sistemas em que isso faça necessário.

Além das questões de segurança a que precisamos dar atenção, envolvidas durante o desenvolvimento de sistemas web, podemos também citar a importância da verificação de informações relevantes — qualquer dado de variável que seja essencial para um bom funcionamento do software que escrevemos.

Isso inclui saber se um endereço de e-mail ou telefone foi informado ou não, dando um exemplo bem simples. Com a existência dessas informações verificadas, o nosso sistema poderá dar continuidade às tarefas que dependem desses dados para funcionar. Veremos um exemplo dessa aplicação, um pouco mais adiante.

Qual a sintaxe da função PHP isset?

A sintaxe da função isset() é bastante simples para ser implementada. Ela pede apenas um parâmetro obrigatório, o qual seria a variável que queremos verificar a existência. Vejamos:

isset ($variável, $variável2, ...) 

Como você deve ter percebido, é possível realizar a verificação de múltiplas variáveis na mesma função.

Quais as diferenças entre isset(), empty() e is_null()?

Além da função isset(), o PHP disponibiliza outras para verificarmos as variáveis em nossos softwares. Algumas vezes, durante o desenvolvimento de uma ferramenta, será necessário que identifiquemos se a dada variável é null ou zero — e vimos que, se optarmos pelo uso do isset(), isso não será possível, pois o retorno será o mesmo, o valor booleano “false”.

Então, nesses casos, podemos usar a função empty() e is_null(). Com o primeiro método, a função empty(), saberemos se a variável que verificamos é vazia ou não. É importante lembrar que, se a variável tiver o valor definido como “false”, também será considerada vazia. Vejamos um exemplo do uso de empty():

<?php

$variavel_a = false;
$variavel_1;

if (empty($variavel1));{
    echo "A variável A está vazia. <br>";
} if (empty($variavel1));{
    echo "A variável 1 está vazia";
}
?>

Receberemos a seguinte impressão no console:

A variável A está vazia.
A variável 1 está vazia

Lembre-se de que você pode tentar trocar as variáveis (ou até adicionar outras) para melhorar sua percepção sobre o funcionamento da função empty().

Já a função is_null() é bastante semelhante em relação à função empty() — a diferença é que ela não verifica se a variável está vazia, mas sim, se contém um valor nulo (NULL) ou não. Nos casos afirmativos, em que a variável é representada pelo valor null, o retorno do valor será o booleano “true”.

Em caso negativo — seja qualquer outro valor diferente de null, a resposta será o booleano “false”. Acompanhe um exemplo de uso da função is_null():

<?php

$a = null;

if (is_null($a)) {
  echo "A variável 'a' é null.<br>";
}

?>

É um exemplo bem simples da implementação da função is_null(), em que vemos o retorno true devido à verificação positiva do valor null da variável. O console nos retornará o seguinte:

A variável 'a' é null.

Como usar, na prática? Veja 4 exemplos de uso do PHP isset

Veremos, nesta parte, mais alguns exemplos de sistemas com códigos bem simples, para auxiliar você a compreender ainda melhor sobre a função PHP isset() aplicada na prática. É muito interessante usar uma IDE ou um servidor local no seu computador para replicar esses conceitos — é bem mais fácil aprender um código quando fazemos alterações nele e reparamos em seu comportamento.

Então, prepare-se e vamos aos exemplos!

1. Usando a função isset() em arrays

Nesse primeiro exemplo, mostraremos como é possível aplicarmos a função isset() em matrizes associativas. Confira:

<?php

$var_array = array ('var_teste_1' => 1, 'var_test_2' => NULL);
var_dump( isset ($var_array['var_teste_1']) );       
// será TRUE

var_dump( isset ($var_array['var_test_2']) );       
// será FALSE

var_dump( array_key_exists('var_test_2', $var_array) ); 
// será TRUE

?>

Ao pedirmos uma representação estruturada das variáveis por meio da função var_dump(), repare que é realizada a verificação, e ele retorna true e false, respectivamente, para as variáveis que passamos. Na quinta linha, queremos realizar a verificação do valor null da variável, retornada como verdadeiro pelo método isset. O resultado impresso no console será igual a:

bool(true)
bool(false)
bool(true)

2. Checando se uma informação existe para ser utilizada posteriormente

Nesse exemplo, usaremos o método de verificação de variáveis isset para nos certificarmos de que a variável que identifica um usuário contenha um dado valor. Em outras palavras, fazemos uma verificação — se a variável está armazenada e acessível para utilização pelo sistema. Dê atenção ao seguinte exemplo:

<?php  
$user = 'João da Silva';  
$_SESSION['userID'] = $user;    
if (isset($_SESSION['userID'])) {  
   echo " Seja bem-vindo, $_SESSION[userID] ";  
   } 
?> 

Aqui, o funcionamento do método isset acontece assim: ele verifica se a variável “userID” existe. Em caso afirmativo, ele utiliza esse dado para completar as informações necessárias para a tarefa solicitada, que, nesse caso, seria usar a variável userID — o nome usuário — e imprimi-la na tela para leitura. A saída desse código mostrado seria:

Seja bem-vindo, João da Silva

3. Utilizando o PHP isset com IF e ELSE

Nesse pequeno exemplo, exploraremos a função isset() aliada ao uso do if e do else, e como podemos utilizar a verificação de valores contidos em variáveis para a tomada de decisão do sistema. Confira, logo abaixo:

<?php

$primeira_var_definida = 0;
$segunda_var_null = null;
$terceira_var_sem_valor;

// verificando se a primeira variável está definida:

if (isset($primeira_var_definida)) {
  echo "A primeira variável está definida com o valor de 0.<br>";
} else {
  echo "A primeira variável não está definida.<br>";
}

// Verificando se a segunda variável está definida:

if (isset($segunda_var_null)) {
   echo "A segunda variável está definida";
} else {
   echo "A segunda variável tem o valor NULL — portanto, não está definida.<br>";
}
   
// Verificando se a terceira variável está definida:

if (isset($terceira_var_sem_valor)) {
    echo "A terceira variável está definida";
} else {
    echo "A segunda variável não está definida — não há valor declarado.<br>";
}

?>

Use esse exemplo alterando as variáveis para que você perceba, na prática, como é realizada a decisão pelo script do que será impresso na tela, a partir da verificação das variáveis por meio do método isset. Esse código que apresentamos terá a seguinte saída no console:

A primeira variável está definida com o valor de 0.
A segunda variável tem o valor NULL — portanto, não está definida.
A segunda variável não está definida — não há valor declarado.

4. Utilizando o isset em um formulário HTML

Agora, trazemos a utilização da função isset() para a criação de um formulário bem simples em HTML. A função, como podemos perceber, verifica se os dados foram inseridos pelo usuário e, sem seguida, retorna um agradecimento pelo envio das informações em caso positivo. Confira:

<!DOCTYPE html>

<html>

<head>
   <title>Formulário exemplo — usando a função isset()</title>
</head>

<body>

<form method="post">
   <label for="name">NOME:</label>
   <input type="text" name="name" class="name">
   <label for="tel">CELULAR:</label>
   <input type="number" name="tel" class="tel">
   <input type="submit" name="envio" value="Envie agora!">
</form>

<?php

if(isset($_POST['envio'])){
   echo "Seu formulário já foi enviado, obrigado!";
   }
?>
</body>
</html>

Nosso formulário ficará dessa maneira:

[IMAGEM NO UPLOAD – área de login, NOME e CELULAR]

O desenvolvimento de aplicações usando a linguagem PHP oferece diversos benefícios e vantagens para as pessoas da área de tecnologia envolvidas no processo. É uma linguagem de programação madura, robusta e gratuita. Dessa forma, elementos como a função PHP isset() existem para oferecer ainda mais possibilidades na idealização e no desenvolvimento das mais variadas ferramentas para o mundo digital.

Usamos alguns exemplos para mostrar de maneira didática como aplicar esses conhecimentos. Compreendemos conceitos na prática e de forma dinâmica, assim como os principais detalhes sobre a implementação das funções PHP isset(), unset(), is_null() e empty(), disponibilizando às pessoas iniciantes na programação uma excelente visão do panorama de como as funções em PHP são implementadas.

Que tal aprender ainda mais sobre a linguagem PHP e outras funções utilizadas nessa e em outras linguagens de programação? Comece sua preparação para o mercado de desenvolvimento digital com a Trybe, agora mesmo, realizando sua inscrição em nosso processo seletivo. Se estiver com alguma dúvida, entre em contato conosco!