Maison >cadre php >PensezPHP >L'ancien pilote s'est effectivement renversé en jugeant le résultat du retour (ThinkPHP)
L'ancien pilote s'est effectivement renversé en jugeant le résultat du retour (ThinkPHP)
咔咔original
2021-01-08 10:14:411559parcourir
"
Cet article est un contenu de base. Si vous le voyez, veuillez vérifier si votre propre code a le même problème
"
Avant-propos
Petit Q est de nouveau là avec une question La question d'aujourd'hui est probablement celle que la plupart des camarades poseront.
Le problème est lors de l'utilisation de ThinkPHP pour déterminer si le résultat renvoyé par la requête est vide.
Tu n'es pas très confiant ? Qu'est-ce qui ne va pas avec ça ? Si vous le pensez, lisez simplement l’article !
«
La raison de ce problème est qu'il n'est pas clair de quel type est le résultat renvoyé par la base de données de requête-cadre. Connaître le type est un problème très simple.
»
Souriez les rancunes
Réapparition du problèmeLa base de données est très simple, juste une table utilisateur. Il n'y a aucune donnée dans cette table, c'est une table vide.
Base de données
Utilisez ensuite le framework ThinkPHP pour interroger les données de cette table
Code de requête
Petit Q vous donnera trois secondes pour réfléchir à la valeur qui sera renvoyée ici. Soit ne renvoie aucune donnée pour l'instant, soit renvoie les données de la table utilisateur.
Little Q a dit sans hésitation qu'aucune donnée ne sera renvoyée car la table utilisateur n'a aucune donnée.
Jetons ensuite un œil au résultat imprimé.
Little Q a ouvert de grands yeux et n'a pas vu les quatre mots "Pas encore de données". Au lieu de cela, un tableau vide a été renvoyé (je pense que oui pour le moment).
«
Ici, nous pensons temporairement qu'il s'agit d'un tableau vide. En fait, cela ressemble simplement à un tableau. La vraie structure de données est un ensemble de résultats. L'ensemble des résultats est, vous pouvez décider par vous-même. Baidu ha ! Comment cela a-t-il pu arriver ! A la forte demande de Xiao Q, j'ai imprimé les données de date
J'espère que ce n'est pas vous Le résultat renvoyé est toujours un tableau vide (je pense donc pour le moment)Résultat renvoyé
Ensuite, il doit être déterminé par empty() pour déterminer si un tableau est vide, n'est-ce pas !
Petit Q hocha la tête avec confiance. Il ne doit y avoir aucun problème cette fois. J'écris de cette façon depuis plusieurs années, et j'utilise le vide pour juger.
Confiant en vous
Afin de laisser le petit Q voir l'urne pleurer, Kaka ne peut juger si la valeur est vide qu'une seule fois.
Le code est le suivant
Impression du code
Petit Q avait un sourire si éclatant sur son visage que je ne pouvais pas le supporter pour cliquer sur le bouton de demande.
N'ayant d'autre choix que de répondre aux attentes de Xiao Q, il appuya cruellement sur le bouton de demande.
Résultat du retour
Après avoir vu le résultat du retour ci-dessus, le sourire sur le visage de Xiao Q s'est soudainement arrêté, suivi d'un visage plein de doutes sur une grande plaque faciale.
Douteux
Vérifiez à nouveau s'il y a un problème avec le code de jugement écrit.
Comment pourrais-je mal écrire ce code avec ma force, qui est sur le champ de bataille depuis des décennies, en copiant et en collant, et en prenant simplement le clavier ?
Petit Q n'a finalement pas pu rester assis et a demandé avec un sourire, que se passe-t-il !
Le sourire de Little Q
Enfin, nous arrivons au point. S'il vous plaît, continuez à voir comment faire comprendre à Little Q la vérité.
2. Résoudre le problème
Il est urgent de vérifier si les données renvoyées correspondent à ce sur quoi nous insistons. Tableau, vérifiez-le ensuite.
J'ai donc pris le clavier et tapé huit fois, et c'était la fonction is_array.
Lancer à nouveau la demande
Imprimer le résultat
En ce moment, l'expression de Xiao Q est comme ça, il est vraiment en désordre maintenant
Tu n'étais pas comme ça avant
Alors j'ai calmement ouvert le document du site officiel et j'ai jeté un coup d'œil à Xiao Q
Le site officiel indique clairement que le résultat renvoyé par les données est l'ensemble de données, et c'est la valeur par défaut dans la version 5.1.
Document officiel du site
Si vous continuez à lire, vous verrez quelles sont les méthodes supplémentaires. La première à savoir est si elle est vide.
Petit Q a dit sous le choc : Bon sang, on ne peut pas juger de cette façon !
Méthode supplémentaire
Vérifiez-la simplement.
Code de détection
Petit Q a finalement dit avec le nez qui coule et les larmes, je pensais qu'il y avait quelque chose qui n'allait pas avec mes yeux !
Pourquoi ne pouvons-nous pas dire qu’il s’agit évidemment de données vides ? Il poussa un long soupir.
Résultats de retour
«
Petit Q m'a regardé avec confusion et a dit, depuis que j'utilise Après avoir adopté le framework 5.1 , tous les jugements sont écrits ainsi.
Xiao Q s'est précipité en courant et n'a dit qu'une seule phrase, dépêchez-vous et corrigez le code avant qu'il n'y ait plus de problèmes en ligne, sinon je serai licencié.
”
Après avoir résolu le problème du petit Q, parlons d'autres choses.
3. Extensions
Après avoir résolu le problème de Xiao Q, parlons de quelques sujets sérieux
Il y a un problème omis dans ce qui précède, qui est vide, dans PHP. Pour déterminer si un tableau est vide, utilisez vide
Xiao Q croit fermement que c'est le cas, cette utilisation peut-elle toujours être utilisée dans le framework ?
Cela ne doit poser aucun problème ! Regardez l'image ci-dessous
Code
Le résultat renvoyé est définitivement le même que celui attendu. La vérité est toujours la vérité.
Résultats de retour
Résumé
Un résumé pour Xiao Q, l'essence est toujours aussi simple.
Bien que les résultats renvoyés puissent être modifiés dans le fichier de configuration de la base de données, il n'est pas recommandé de le modifier.
Puisque le framework est par défaut sur l'ensemble de résultats, utilisez l'ensemble de résultats. Si vous devez utiliser un tableau, ce n'est pas grave.
Après la question de Xiao Q, nous devons prêter attention aux problèmes suivants.
Lors de l'utilisation d'une requête de recherche, si le résultat est vide et que le résultat renvoyé est nul, alors le jugement peut être porté en utilisant !
Utilisez select Lors de la requête, si le résultat est vide, le résultat renvoyé est un jeu de résultats vide. Vous pouvez utiliser la fonction supplémentaire toArray() du jeu de résultats pour le convertir en tableau, puis utiliser vide pour juger. Cependant, si vous utilisez simplement l'ensemble de résultats à des fins de jugement, vous pouvez utiliser la fonction fournie par $data->isEmpty() pour porter un jugement.
«
La persévérance dans l'apprentissage, la persévérance dans les blogs et la persévérance dans le partage sont les convictions auxquelles Kaka a toujours adhéré depuis le début de sa carrière. j'espère que le succès de Kaka sur l'immense Internet Cet article peut vous aider un peu. Je m'appelle Kaka, à la prochaine fois.
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!
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn