Lorsque nous traitons des boucles en php aujourd'hui, il y a eu une opération de comparaison, mais le résultat n'a jamais été prédit par moi-même, donc je l'ai suivi et j'ai découvert que lors de la comparaison de chaînes avec des entiers, les chaînes seront converties en Les entiers sont ensuite comparés . Cela ne posera pas de problème dans les langages fortement typés tels que Java et C, car ils convertiront les chaînes puis les compareront. Cependant, dans les langages faiblement typés tels que PHP, il y aura des problèmes lorsque des comparaisons directes pourront être effectuées. fait.
$a = "梦回故里"; if($a==0){ echo "等于"; }else{ echo "不等于"; }
Par exemple, dans le code suivant, j'ai d'abord pensé que le résultat ne serait pas égal, car $a devrait être vrai selon notre compréhension, et il devrait être 1, donc ce n'est pas égal de toute façon. Mais le résultat est égal. Parce que $a sera converti en entier, la conversion commencera à partir du premier caractère. Si ce n'est pas un entier, il sera converti en 0.
Par exemple, dans l'exemple suivant :
$a = "梦回故里1"; if(0==$a){ echo "等于"; }else{ echo "不等于"; }
Le résultat sera toujours égal à, car le mot du rêve n'est pas un entier, il est donc converti en 0.
$a = "1梦回故里"; if(0==$a){ echo "等于"; }else{ echo "不等于"; }
Le résultat sera différent, car le premier est 1, il sera être converti en 1, puis comparé, donc ce n'est pas égal.
Le langage PHP est comme ça. Il nous offre suffisamment de liberté et est facile à apprendre, mais il faut poser des bases solides et faire attention aux détails. Les détails déterminent le succès ou l’échec.
Pour plus de connaissances sur PHP, veuillez visiter le Site Web PHP chinois !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!