Maison >développement back-end >tutoriel php >Piège 1 dans lequel PHP peut tomber
Cet article partage principalement avec vous les pièges dans lesquels PHP peut tomber. Nous partageons la réponse avec vous à travers un petit exemple, en espérant aider tout le monde.
On m'a demandé aujourd'hui :
$var = 'test'; if (isset($var['somekey'])) { echo 'reach here!!!'; }
Est-ce que le message "atteindra ici !!!" sera affiché ? ---Bien sûr que non. J'ai répondu sans réfléchir.
Effectivement, je suis tombée dans un piège ! Ce sera une sortie ! Si vous n’êtes pas tombé dans le piège, félicitations, vous n’avez pas besoin de baisser les yeux.
Maintenant, analysons-le. Maintenant que isset est là, quelle est la valeur ? Imprimons-le :
var_dump($var['somekey']); //=>output: string(1) "t"
est le caractère 't', qui est le premier caractère de $var L'avez-vous compris ici ?
Parce que la variable $var est une chaîne, si vous avez appris le langage C, vous saurez qu'il s'agit d'un tableau de type char, nous pouvons donc utiliser $var[0] $var[1] $var [$i]..Obtenir le caractère $i+1 de $var. Alors pourquoi « somekey » n’a-t-il obtenu que le premier caractère ? En effet, PHP effectue ici une conversion de type implicite, convertissant ici la chaîne en type int. Si vous avez essayé la fonction intval('somekey'), vous saurez que le résultat est 0, donc $var['somekey']Enfin c'est $var[0]. Finalement, je l'ai compris.
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!