Errore logico
Un errore logico (o errore di logica) è un errore nel codice sorgente di un programma che produce un comportamento errato o imprevisto. È un tipo di errore di runtime che può semplicemente produrre un output errato oppure può causare un arresto anomalo del programma durante l'esecuzione.
Molti tipi diversi di errori di programmazione possono causare errori logici. Ad esempio, assegnare un valore alla variabile sbagliata può causare una serie di errori imprevisti nel programma. Anche moltiplicare due numeri invece di sommarli può produrre risultati indesiderati. Persino piccoli errori di battitura che non producono errori di sintassi possono causare errori logici. Nell'esempio di codice PHP seguente, l'istruzione if può causare un errore logico, poiché il singolo segno di uguale (=) dovrebbe essere un doppio segno di uguale (==).
Errato: if ($i=1) { ... }
Corretto: if ($i==1) { ... }
In PHP, "==" significa "è uguale a", mentre "=" significa "diventa". Pertanto, l'istruzione if errata restituisce sempre TRUE, poiché l'assegnazione di 1 alla variabile $i restituisce un valore TRUE. Nel codice corretto, l'istruzione if restituisce TRUE solo se $i è uguale a 1. Tuttavia, poiché la sintassi del codice errato è accettabile, non produrrà un errore di sintassi e il codice verrà compilato correttamente. L'errore logico potrebbe essere notato solo durante il runtime. Poiché gli errori logici sono spesso nascosti nel codice sorgente, in genere sono più difficili da trovare e sottoporre a debug rispetto agli errori di sintassi.
Metti alla prova le tue conoscenze