bonjour,

ça fait un bail que cette erreur existe et je comprends pas pourquoi PHP ne la détecte pas en erreur ni en warning :

souvent, je fais un copié-coller de ma condition se trouvant dans le IF pour la remettre dans le code plus bas et j'oublie d'enlever un "égal"

Si j'ai dans mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
if ($a=="45fdfdfdf87") { // do things..}
alors ma recopie sera :

au lieu de :


Je pense copié une affectation qui est en fait une expression de test (qui renvoie true/false) sans produire d'erreur (dans le sens Anomalie de syntaxe) .

Pourquoi PHP me laisse écrire de tel ligne ? est-ce que ça a une utilité d'écrire ce genre de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$b="rien";
$a=="45fdfdfdf87";
$c="truc";
PHP (son compilateur ou interpréteur) devrait me mettre un warning pour me dire que la ligne 2: $a=="45fdfdfdf87"; est une erreur non ?
ça n'a pas de sens de faire une expression de test entre deux affectations ! n'est-ce pas ?