O que é um erro de índice indefinido no PHP e como corrigi -lo?

O que é um erro de índice indefinido no PHP e como corrigi -lo?

Ao trabalhar com PHP, é comum encontrar um “Índice indefinido”Erro. Este erro ocorre quando você tenta acessar um elemento de matriz ou variável usando um índice que não existe, levando a resultados inesperados ou a uma falha do programa.

Neste artigo, explicaremos em detalhes o que “índice indefinido”O erro é, as possíveis razões para isso e como corrigi -lo.

Erro de índice indefinido no PHP

Um "Índice indefinido”Como já mencionado, é um erro que ocorre quando um usuário tenta acessar um elemento ou variável em uma matriz usando um índice que não é definido em um código.

Razões de erro de índice indefinido no PHP

Existem várias razões possíveis para este erro:

  • Nome do índice com ortografia
  • Acessando um índice inexistente
  • O valor do índice não está definido
  • A chave de matriz não existe

Como corrigir o erro de índice indefinido no PHP

Para corrigir esse erro no PHP, os usuários podem usar os três métodos a seguir:

  • Função ISSET ()
  • Função Array_key_exists ()
  • Operador nulo de coalescência

1: Função ISSET ()

O isset () A função é uma função interna no PHP que permite verificar a existência de uma variável ou índice em uma matriz. Ele retorna verdadeiro Se uma variável ou índice existir em uma matriz e falsa em outro caso. Se você quiser consertar o Erro de índice indefinido No PHP, você pode usar esta função considerando o código a seguir como um exemplo que verifica a variável que existe em um programa.

$ myarray = array ('index1' => 'value1', 'index2' => 'value2', 'index3' => 'value3');
if (isset ($ myarray ['index']))
eco $ myarray ['índice'];
outro
eco "Índice não encontrado na matriz";

?>

O código acima usa o isset () função para verificar se 'índice'Chave existe no $ MyArray Array. Se isso acontecer, podemos acessar com segurança seu valor usando $ myarray ['índice'] sem gerar um erro. Caso contrário, recebemos uma mensagem indicando que o Índice não foi encontrado na matriz. Desde o acima código chave de índice não está disponível, o código produzirá o resultado “Índice não encontrado na matriz”.

2: Função Array_Key_Exists ()

Esta é outra função útil no PHP que permite que você verifique um índice em uma matriz. Funciona da mesma forma que a função acima retornando true se existir um índice em uma matriz. Caso contrário, ele gera o índice não encontrado erro.

O exemplo abaixo do rumo mostra o funcionamento desta função no PHP.

$ myarray = array ('index1' => 'value1', 'index2' => 'value2', 'index3' => 'value3');
if (array_key_exists ('index', $ myarray))
eco $ myarray ['índice'];
outro
eco "Índice não encontrado na matriz";

?>

O código acima usa o Array_key_exists () função para verificar se 'índice'Chave existe no $ MyArray Array. Se isso acontecer, podemos acessar com segurança seu valor usando $ myarray ['índice'] sem gerar um erro.

Desde o código acima índice Chave não está disponível, o código produzirá o resultado “Índice não encontrado na matriz”.

3: Usando o operador nulo de coalescência

O operador nulo de coalescência (??) é outro método útil para verificar uma existência de índice em uma matriz, pois ajudará você a corrigir o erro indefinido de índice em seu código PHP. Considere o código abaixo para aprender a usar o operador nulo de coalescência em PHP.

$ myarray = array ('index1' => 'value1', 'index2' => 'value2', 'index3' => 'value3');
eco $ myarray ['Índice'] ?? 'Índice não encontrado na matriz';
?>

O código acima usa o operador nulo de coalescência (??) Para verificar a chave do índice que existe no $ MyArray Array. Se isso acontecer, podemos obter o valor no console. No entanto, se o índice não existir, ele retorna o “Índice não encontrado na matriz”Saída no console.

Conclusão

O "índice indefinido”É um erro comum no PHP que ocorre quando você tenta acessar um índice de matriz inexistente. Nome do índice incorreto, índice inexistente ou valor de índice não atendido pode causar esse tipo de erro. Para consertar, pode -se usar o ISSET (), Array_Key_exists (), ou o operador nulo de coalescência (??). Siga as diretrizes acima para aprender sobre esses métodos em detalhes.