Erro de lógica
Um erro de lógica (ou erro lógico) é um engano no código-fonte de um programa que resulta em um comportamento incorreto ou inesperado. É um tipo de erro de execução que pode simplesmente produzir a saída errada ou fazer um programa travar enquanto está sendo executado.
Muitos tipos diferentes de erros de programação podem causar erros de lógica. Por exemplo, atribuir um valor à variável errada pode causar uma série de erros inesperados no programa. Multiplicar dois números em vez de somá-los também pode produzir resultados indesejados. Até mesmo pequenos erros de digitação que não produzem erros de sintaxe podem causar erros de lógica. No exemplo de código PHP abaixo, a instrução if pode causar um erro de lógica, pois o sinal de igualdade simples (=) deveria ser um sinal de igualdade duplo (==).
Incorreto: if ($i=1) { ... }
Correto: if ($i==1) { ... }
No PHP, "==" significa "é igual a", enquanto "=" significa "torna-se". Portanto, a instrução if incorreta sempre retorna TRUE, pois atribuir 1 à variável $i retorna um valor TRUE. No código correto, a instrução if só retorna TRUE se $i for igual a 1. No entanto, como a sintaxe do código incorreto é aceitável, ele não produzirá um erro de sintaxe e será compilado com sucesso. O erro de lógica pode ser percebido somente durante a execução. Como os erros de lógica geralmente ficam ocultos no código-fonte, eles costumam ser mais difíceis de encontrar e depurar do que erros de sintaxe.
Teste seus conhecimentos