Error lógico
Un error lógico (o error de lógica) es un error en el código fuente de un programa que provoca un comportamiento incorrecto o inesperado. Es un tipo de error en tiempo de ejecución que puede simplemente producir el resultado incorrecto o hacer que un programa se bloquee mientras se ejecuta.
Muchos tipos diferentes de errores de programación pueden causar errores lógicos. Por ejemplo, asignar un valor a la variable equivocada puede provocar una serie de errores inesperados en el programa. Multiplicar dos números en lugar de sumarlos también puede producir resultados no deseados. Incluso los pequeños errores tipográficos que no producen errores de sintaxis pueden causar errores lógicos. En el siguiente ejemplo de código PHP, la instrucción if puede causar un error lógico, ya que el signo igual único (=) debería ser un signo igual doble (==).
Incorrecto: if ($i=1) { ... }
Correcto: if ($i==1) { ... }
En PHP, "==" significa "es igual a", mientras que "=" significa "se convierte en". Por lo tanto, la instrucción if incorrecta siempre devuelve TRUE, ya que asignar 1 a la variable $i devuelve un valor TRUE. En el código correcto, la instrucción if solo devuelve TRUE si $i es igual a 1. Sin embargo, como la sintaxis del código incorrecto es válida, no producirá un error de sintaxis y el código se compilará correctamente. Es posible que el error lógico solo se note durante la ejecución. Debido a que los errores lógicos suelen estar ocultos en el código fuente, normalmente son más difíciles de encontrar y depurar que los errores de sintaxis.
Pon a prueba tu conocimiento