Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

isset() e array_key_exists

No caso abaixo:

<?php if(array_key_exists("removido", $_GET) && $_GET['removido']=='true') { ?>

<p class="alert-success">Produto apagado com sucesso.</p>

<?php } ?>

A função array_key_exists poderia tem a mesma função que o isset() abaixo:

<?php if(isset($_GET["login"]) && $_GET["login"]==false) {?>
             <p class="alert-danger">não está logado no sistema</p>

<?php } ?>
2 respostas

Sempre uso isset, alguém sabe se existe vantagens em usar array_key_exists() ao invés do isset()?

solução!

Olá,

A função isset() é responsável por verificar se a variável foi inicializada, e a função array_key_exists() é responsável por verificar se o índice desejado existe no array. Com isso ambas as funções tem aplicabilidade diferentes, devemos tomar cuidado pois, verificar com isset não traz grandes garantias, sendo que somente verificar a inicialização ou não da variável.

No exemplo acima, acaba que ambos os caso funcionem pois é passado o índice do array para análise, por isso acaba que funcionando, porém caso o parâmetro login seja removido da URL será retornado erro, pois estará tentando acessar um índice de array que não existe.