O que é isset () em PHP?
Isset em PHP é uma função PHP embutida essencial que torna seu programa PHP mais autoexplicativo. No entanto, mesmo o manual do PHP não explicou a função isset em profundidade. Neste artigo, você vai examinar a função isset, bem como seus vários aspectos em profundidade.
Ao escrever um pequeno trecho de código, você pode controlar quantas variáveis usou ou os nomes das variáveis que usou em seu código. Mas sempre que você estiver lidando com um grande programa que contém várias variáveis junto com vários arrays ou chaves de array, há uma grande possibilidade de você perder o controle de quais nomes de variáveis ou nomes de array já foram usados e os nomes ainda não usados em seu código. Nesses casos, a função isset entra em cena.
A função isset em PHP é usada para determinar se uma variável está definida ou não. Uma variável é considerada um conjunto de variáveis se tiver um valor diferente de NULL. Em outras palavras, você também pode dizer que a função isset é usada para determinar se você usou uma variável em seu código ou não antes. É uma função do tipo booleano. Isso significa que se uma variável, array ou chave de array não estiver definida ou tiver um valor NULL, o isset no PHP retornará falso, caso contrário, você obterá true como valor de retorno. Você pode passar vários argumentos na função isset e ela verificará todos os parâmetros passados, estejam eles configurados ou não. Nesse caso, a função isset retornará verdadeiro somente se todos os argumentos passados forem configurados. Se algum dos argumentos tiver um valor NULL, a função isset retornará falso.
isset () Sintaxe, parâmetros e valores de retorno
Sintaxe do isset em PHP:
//sintaxe para verificar se
//as variáveis passadas são declaradas
//e diferente de nulo ou não,
//usando a função isset em PHP.
isset (mixed $ var1, mixed $ var2,… $ vars)
Os parâmetros usados na sintaxe:
Os parâmetros passados são variáveis mistas. Isso significa simplesmente que você pode passar uma ou mais variáveis de diferentes tipos de dados para isset em PHP como parâmetros.
Valor de retorno:
O isset () retorna um valor booleano. Ele retornará verdadeiro se o parâmetro passado for declarado e não for definido como NULL. No caso, onde mais de um parâmetro é passado (eles podem ser de tipos de dados diferentes), o isset () retornará verdadeiro somente se todas as variáveis passadas não forem iguais a NULL e seus valores existirem.
Ele retornará falso quando uma variável não tiver sido declarada ou for igual a NULL. Se houver mais de um parâmetro passado, e se algum deles não for definido, o resultado retornado será falso, independentemente do status definido/desmarcado de outras variáveis.
O programa a seguir ilustra o isset em PHP.
php
//variável do tipo de string,
//tendo uma string vazia como valor
$ var1=”;
//variável do tipo inteiro,
//tendo 1 como valor
$ var2=1;
//variável do tipo de string,
$ var3=”testValue”;
//variável atribuída como NULL
$ var4=NULL;
//imprimirá verdadeiro, conforme a variável existe
//e não é igual a NULL
var_dump (isset ($ var1));
var_dump (isset ($ var2));
var_dump (isset ($ var3));
//imprimirá falso, como variável
//é igual a NULL
var_dump (isset ($ var4));
//imprimirá falso, pois a variável não existe
var_dump (isset ($ var5));
//imprimirá verdadeiro, pois todas as variáveis
//existe e não é igual a NULL
var_dump (isset ($ var1, $ var2, $ var3));
//imprimirá falso, pois var4 é igual
//para NULL
var_dump (isset ($ var1, $ var2, $ var4));
?>
Relatório de erros de PHP
O relatório de erros do PHP é um conceito importante, especialmente quando você está entendendo os usos de isset, empty e Null no PHP. Os programas escritos na linguagem de programação do PHP não são convertidos em um arquivo executável; ele os executa diretamente a partir do código-fonte. A razão para isso é que o PHP não é compilado, em vez disso, é interpretado e executado diretamente. Portanto, isso pode causar problemas sempre que houver erros em um programa, pois os erros que poderiam ter sido detectados durante o processo de compilação, só são detectados em tempo de execução.
Agora, existem diferentes tipos de erros, eles podem ser erros triviais chamados E_NOTICE que não causam muita diferença ou erros prejudiciais chamados E_ERROR que podem até mesmo levar ao travamento do programa. Esses erros em PHP são exibidos na saída por padrão. Você também pode configurar o arquivo php.ini para redirecionar esses erros para um arquivo de log ou pode desabilitá-los para serem exibidos na saída. Você pode configurar e personalizar as diretivas chamadas display_errors e error_reporting disponíveis no arquivo chamado php.ini. Esses conceitos de relatório de erros são essenciais para que os desenvolvedores entendam e apliquem ao desenvolver um aplicativo, pois o manuseio incorreto de erros pode levar a um travamento do aplicativo inteiro.
Lidar com os erros do tipo E_NOTICE, que são triviais, pode ser relativamente fácil. Alguns erros cometidos pelos programadores que causam erros E_NOTICE são a declaração e o uso indevido de variáveis. Se um programa está tentando acessar uma variável não existente, ele pode causar um erro do tipo E_NOTICE. Isso pode ser causado por um erro de lógica ou algum erro de digitação. Também pode haver um caso em que você gostaria de saber se uma variável em seu programa existe ou não. Nesses casos, isset e empty podem revelar-se essenciais.
Função Unset () em PHP
A função unset () é outra função embutida importante fornecida pelo PHP. A função unset () é usada para cancelar a configuração de uma variável especificada. A funcionalidade da função unset () depende da chamada da função. Se a função unset () foi chamada em uma variável que está dentro de uma função definida pelo usuário, então essa variável será não configurada localmente. O escopo da função unset () estará dentro dessa função. Se você usar uma variável com o mesmo nome de antes em qualquer outra função definida pelo usuário, ela não será removida e armazenará o valor que o usuário definiu. Se você deseja cancelar a definição de uma variável global, pode usar o array $ GLOBALS. A função unset () não retorna nada.
Sintaxe de não definida em PHP:
//sintaxe para destruir variáveis
//passando-os para unset ()
não definido (mixed $ var1, mixed $ var2,… $ vars)
O parâmetro na sintaxe:
Os parâmetros passados aqui também são variáveis misturadas, o que significa que você pode passar uma ou mais variáveis de diferentes tipos de dados para não configurados no PHP como parâmetros.
Valores de retorno:
O tipo de retorno de não definido é nulo. Isso significa que ele não retorna um valor, em vez disso, ele cancela completamente uma ou mais das variáveis passadas.
O funcionamento do unset () varia se for chamado dentro de uma função. Por exemplo, se você fornecer uma variável que foi declarada como global em uma função, e unset () foi chamado nessa variável dentro da mesma função, então, nesse caso, ele destrói a variável apenas em seu escopo local.
O programa a seguir ilustra a desconfiguração no PHP.
php
//inicializar uma variável
$ var1=’1′;
echo”O valor da variável antes de chamar unset () é:”. $ var1;
echo”\ n”;
//chamando unset para destruir a variável
//não definido
não definido ($ var1);
echo”O valor da variável após chamar unset () é:”. $ var1;
?>
Nulo
NULL não pode ser marginalizado se você estiver falando sobre a função isset () em PHP. Uma variável é considerada NULL se não contiver nenhum valor. Ele atribuiu automaticamente essas variáveis como NULL. Você pode atribuir o valor de uma variável como NULL manualmente ou usar a função unset () para atribuir o valor NULL a uma variável.
Sintaxe de NULL em PHP:
//sintaxe para atribuir nulo
//para uma variável em PHP
$ var=NULL;
Descrição da sintaxe:
Diz-se que uma variável é NULL se cair em uma das seguintes categorias:
- Atribui o valor NULL constante a ele.
- Não atribuiu nenhum valor a ele.
- unset () foi chamado nele.
O programa a seguir ilustra o conceito de NULL em PHP.
php
//atribuir constante nula à variável
$ myVariable=NULL;
//isso imprimirá nulo
var_dump ($ myVariable);
//use $ var (uma variável nula) para
//outras variáveis primárias
//imprimirá 0 para inteiro
var_dump ((int) $ myVariable);
//imprimirá 0 para float
var_dump ((float) $ myVariable);
//imprimirá falso para bool
var_dump ((bool) $ myVariable);
//imprimirá falso para booleano
var_dump ((boolean) $ myVariable);
?>
Função Empty ()
A função empty () é outra função embutida vital fornecida pelo PHP. Esta função é usada para verificar se uma variável está vazia ou não. Esta função é do tipo de retorno booleano. A função empty () retornará falso se a variável não estiver vazia e contiver um valor que não seja equivalente a zero, caso contrário, retornará verdadeiro.
Sintaxe de empty () em PHP:
//sintaxe para verificar
//se uma variável for
//vazio ou não em PHP
bool vazio ($ var);
Os parâmetros usados na sintaxe:
A função vazia aceita uma variável, matriz ou chave de matriz que você deseja verificar se está vazia ou não.
Retornar valores
A função vazia é do tipo de retorno booleano. Ele retornará falso se a variável não estiver vazia, caso contrário, retornará verdadeiro.
O programa a seguir ilustra a função vazia em PHP.
php
//inicializando as variáveis com valores
//esse empty () avalia
$ a=0;//inicializando a variável como 0 (int)
$ b=0,0;//inicializando a variável como 0 (flutuante)
$ c=”0″;//inicializando a variável como 0 (string)
$ d=NULL;//inicializando a variável como NULL
$ e=falso;
$ f=array ();//inicializando a variável como um array vazio
$ g=””;//inicializando a variável como uma string vazia
$ h=91;//inicializando a variável como um valor diferente de zero
//isto retornará True, pois a tem valor 0 (int)
vazio ($ a1)? print_r (“Verdadeiro \ n”): print_r (“Falso \ n”);
//isso retornará True, pois b tem valor 0 (flutuante)
vazio ($ b2)? print_r (“Verdadeiro \ n”): print_r (“Falso \ n”);
//isso retornará True, pois c tem valor 0 (string)
vazio ($ c)? print_r (“Verdadeiro \ n”): print_r (“Falso \ n”);
//isso retornará True, pois d tem valor NULL
vazio ($ d)? print_r (“Verdadeiro \ n”): print_r (“Falso \ n”);
//isso retornará True, pois e foi inicializado como NULL
vazio ($ e)? print_r (“Verdadeiro \ n”): print_r (“Falso \ n”);
//isso retornará True, pois f tem uma matriz vazia
vazio ($ f)? print_r (“Verdadeiro \ n”): print_r (“Falso \ n”);
//isso retornará True, pois g tem uma string vazia
vazio ($ g)? print_r (“Verdadeiro \ n”): print_r (“Falso \ n”);
//isso retornará False, pois h tem um valor diferente de zero
vazio ($ h)? print_r (“Verdadeiro \ n”): print_r (“Falso \ n”);
?>
Valores de retorno da função.
Esta é uma seção importante de acordo com as funções isset () e empty (). Você já sabe que a função isset () e a função empty () são as construções da linguagem, ou seja, são aplicáveis apenas a variáveis. Portanto, se você tentar passar uma função como um argumento, o PHP lançará um erro fatal.
isset (func1 ())
vazio (função1 ())
-> Erro fatal: não é possível usar o valor de retorno da função no contexto de gravação
Mas não é necessário usar essas duas funções para verificar se a saída da função é isset ou vazia. Existem outras maneiras de verificar o mesmo. Em primeiro lugar, a função que você deseja verificar deve existir. Se você verificar se há uma função inexistente, o PHP lançará um erro como este:
Esses erros são muito sérios e não podem ser ignorados. Agora, como você já sabe que cada função tem um tipo de retorno, mesmo se retornar NULL, as instruções equivalentes para as funções isset e! Empty são-
if (func1 ()!==null)-> equivalente a isset
if (func1 ()==true)-> equivalente a! vazio
if (func1 ())-> equivalente conciso de! vazio
if (func1 ()==false)-> equivalente a vazio
if (! func1 ())-> equivalente conciso de vazio
Aplicativo
A principal aplicação das funções isset e empty é que elas são usadas para verificar se uma variável está definida ou não. Essas funções são apropriadas para verificar os métodos GET e POST. Os métodos POST e GET, se não usados nas condições adequadas, podem causar problemas devido à sua natureza menos segura. Portanto, você pode usar o isset () para garantir que a entrada seja inserida nos campos e que uma variável tenha algum valor para que você não processe um valor NULL em seus aplicativos.
Exemplo 1:
//você pode usar o isset
//em um botão de envio
//para verificar se uma variável
//é ativado/desativado.
if (isset ($ _ POST [‘enviar’])
{
echo (“Nome é: \ n”);
echo ($ _ POST [‘name’]);
}
//isso pode ser usado em um
//formulário em seu aplicativo
Exemplo 2:
if (isset ($ _ POST [‘userID’], $ _POST [‘pass’])) {
//a entrada foi inserida no formulário
//agora tentará fazer o login do usuário
}
//isso pode ser usado em um formulário de inscrição ou login
Epílogo
-
Casos extremos
Existem alguns casos extremos em relação à função isset () e à função empty () que você precisa entender. Por exemplo, digamos que você precise desenvolver seu aplicativo de forma que ele lide com solicitações de URL inválidas. Aqui, você pode usar as funções isset e empty. Depois de usar as funções isset e empty em seu aplicativo, se houver um URL inválido, uma página de erro 404 também será exibida.
$ currentField=fetchRecordFromDatabase ($ _ GET [‘value’]);
if (! $ currentField) {
errorPage (404);
}
echo $ currentField;
-
Chaves de matriz
Como já discutido, a função isset () também pode ser usada para verificar se um array ou chave de array está definido ou não. No entanto, existe outra função que é feita exclusivamente para esse fim. A função “array_key_exists” serve como alternativa para “isset ($ array [‘key’])”. Assim como a função isset (), esta função também tem um tipo de dados booleano e retorna verdadeiro se a chave do array existir, caso contrário, retorna falso. Esta função pode detectar a diferença exata entre nenhum valor e NULL.
$ array=array (‘arrayKey’=> null);
//retornará falso
var_dump (isset ($ array [‘arrayKey’]));
//retornará verdadeiro
var_dump (array_key_exists (‘arrayKey’, $ array));
No entanto, a função isset () sozinha é suficiente para tais casos. Ao lidar com as variáveis, é a mesma coisa para um programador, se uma variável não tem valor ou é definida como NULL. Portanto, você pode obter quase a mesma funcionalidade com a função isset () também. Mas se você quiser imprimir explicitamente o valor de uma variável NULL como ‘null’, a função array_key_exists o ajudará a fazer o mesmo.
Exemplos
-
Diferença entre caractere NULL e constante NULL
No PHP, o caractere nulo (‘\ 0’) e a constante NULL não são iguais. Quando você chamar isset () em um caractere nulo, ele retornará verdadeiro, pois é diferente da constante NULL.
Considere o seguinte exemplo para deixar claro o ponto acima.
php
/********** é definido em uma variável que foi
atribuiu algum valor ************/
$ varWithValue=11;
$ value1=isset ($ varWithValue);
//isso imprimirá verdadeiro,
//a variável não é igual a NULL
echo var_dump (isset ($ value1));
echo”\ n”;
/********** é definido em uma variável que foi
constante NULL atribuída ************/
$ varNullConstant=NULL;
$ value2=isset ($ varNullConstant);
//isso imprimirá falso,
//a variável é igual a NULL
echo var_dump (isset ($ varNullConstant));
echo”\ n”;
/********** é definido em uma variável que foi
constante NULL atribuída ************/
$ varNullCharacter=’\ 0′;
$ value3=isset ($ varNullCharacter);
//isso imprimirá verdadeiro,
//a variável é igual a um caractere nulo,
//e não a constante NULL
echo var_dump (isset ($ value3));
echo”\ n”;
-
Uso de unset ()
A função unset () destrói a variável na qual é chamada. Você pode passar várias variáveis de tipos de dados mistos, e isso destruirá ou desconfigurará todos eles.
Considere o exemplo a seguir para ver o funcionamento do unset () no PHP.
php
//declarando variáveis de teste
//para testar o comportamento
//da função não definida.
$ var1=’10’;
$ var2=’testString’;
//status das variáveis antes de usar o não definido.
if (isset ($ var1) && isset ($ var2)) {
echo”Somos as variáveis com valores:”;
echo $ var1;
echo $ var2;
echo”\ n”;
var_dump (isset ($ var1));
var_dump (isset ($ var2));
echo”\ n \ n”;
}
//a função não definida é chamada
não definido ($ var1);
não definido ($ var2);
echo”As estátuas das variáveis após chamar unset () nelas: \ n”;
var_dump (isset ($ var1));
var_dump (isset ($ var2));
?>
-
Diferença entre isset e! empty
A principal diferença entre isset e empty está no fato de que o último não emite nenhum aviso caso a variável passada a ele não exista. Enquanto um aviso é exibido se a função isset for usada. Fora isso, os dois são semelhantes em termos de valores de retorno e uso.
Considere o exemplo a seguir para entender a diferença entre isset e empty em PHP.
php
//declarando uma variável de teste
//para verificar a diferença no
//funcionamento de
//isset e vazio.
$ var=NULL;
//chame isset () em var
echo”Aqui o isset é chamado. \ n”;
var_dump (isset ($ var));
echo”\ n”;
//chame empty () em var
echo”Aqui vazio é chamado. \ n”;
var_dump (! empty ($ var));
echo”\ n”;
?>
-
Verificação de múltiplas variáveis
A função isset em PHP pode verificar múltiplas variáveis com tipos de dados diferentes ou mistos de uma só vez. Você pode simplesmente passar essas variáveis como parâmetros. Ele retornará verdadeiro se todas essas variáveis existirem e não forem NULL. Se algum deles for NULL, um valor falso será retornado.
Considere o seguinte exemplo para verificar múltiplas variáveis usando isset em PHP.
php
$ var1=1;
$ var2=’testString’;
$ var3=”;
$ var4=”;
if (isset ($ var1, $ var2, $ var3, $ var4)) {
echo”Todas as variáveis existem e não são iguais a NULL.”;
echo”\ n”;
}
else {
echo”Uma ou mais de uma variável não existe ou tem um valor NULL.”;
}
?>
-
isset () para verificar a variável de sessão
A função isset também pode ser usada para verificar os valores das variáveis da sessão, armazenando informações como nome de usuário, ID do usuário e outros dados específicos dos usuários em uma página da web.
Considere o exemplo a seguir para entender o funcionamento do isset em PHP com variáveis de sessão.
php
//variável que contém o nome do usuário
$ myUser=’testUser’;
//atribuir o nome do usuário
//para o ID do usuário da sessão
$ _SESSION [‘userID’]=$ myUser;
//verificando se a variável de sessão
//userID existe e tem um valor diferente de NULL ou não.
if (isset ($ _ SESSION [‘userID’]) &&! empty ($ _ SESSION [‘userID’])) {
echo”Esta é uma sessão disponível. \ n”;
} outro {
echo”Não há sessão disponível. \ n”;
}
?>
Motivo para verificar isset e vazio
A função! empty () atua como complemento da função empty (). A função! Empty () é consideravelmente equivalente à função isset () e a função empty () é equivalente à função! Isset () (complemento da função isset ()). Tanto a função! Empty () quanto a função isset () têm funcionalidades semelhantes. O uso de ambas as funções resultará em maior complexidade de tempo e desperdício de memória. Mas há uma ligeira diferença entre essas duas funções. Ao verificar se uma variável existe ou não, a função empty () não notifica o programador nem dá qualquer tipo de aviso.
Você é um desenvolvedor web ou está interessado em construir um site? Inscreva-se no Full Stack Web Developer-Programa MEAN Stack Master . Explore a visualização do curso!
Concluindo!
Neste artigo, você aprendeu sobre a função isset em PHP. Você explorou o que a função isset () faz e entendeu sua sintaxe e parâmetros em profundidade. Você viu a função unset () e a função empty () junto com sua sintaxe e uso. Este artigo também explorou a diferença entre o caractere nulo e a constante NULL. Ele discutiu o motivo de verificar a função isset () e também a função empty ().
Para começar a usar PHP, você pode consultar este vídeo.
Não pare aqui. Para aprender o desenvolvimento da pilha MEAN e se dar a chance de trabalhar para os maiores gigantes da tecnologia, confira nosso curso em Desenvolvedor Web Full Stack-MEAN Stack . Neste curso, você aprenderá algumas das habilidades mais importantes, como Node, Mongo, etc., que o ajudarão a entrar no desenvolvimento profissional para a Web.
Se você tiver alguma pergunta para nós, mencione-a na seção de comentários e nossos especialistas responderão para você o mais rápido possível.
Boa aprendizagem!