PHP - A diferença entre isset e array_key_exists


Para verificar se um índice existe em um array no PHP, existem duas opções recorrentes: elas são isset e array_key_exists. A principal diferença está na interpretação de valores nulos nos índices verificados.

A construção de linguagem isset irá retornar falso se o índice do array existir mas tiver o valor nulo, enquanto a função array_key_exists irá retornar verdadeiro se o índice existir, mesmo que o seu valor seja nulo.

$user = [
    'name' => null
];

$issetTest  = isset($user['name']); // Retorna false
$existsTest = array_key_exists('name', $user); // Retorna true

É importante lembrar que isset e array_key_exists não são as únicas opções disponíveis, pois é possível utilizar a função empty para checar um índice de um array.


ver todos os posts
Publicado em 24/06/2018