Maison  >  Article  >  cadre php  >  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:411438parcourir
"

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.

»
Lancien pilote sest effectivement renversé en jugeant le résultat du retour (ThinkPHP)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.

Lancien pilote sest effectivement renversé en jugeant le résultat du retour (ThinkPHP)
Base de données

Utilisez ensuite le framework ThinkPHP pour interroger les données de cette table

Lancien pilote sest effectivement renversé en jugeant le résultat du retour (ThinkPHP)
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
Lancien pilote sest effectivement renversé en jugeant le résultat du retour (ThinkPHP)
Le résultat renvoyé est toujours un tableau vide (je pense donc pour le moment)
Lancien pilote sest effectivement renversé en jugeant le résultat du retour (ThinkPHP)
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.

Lancien pilote sest effectivement renversé en jugeant le résultat du retour (ThinkPHP)
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

Lancien pilote sest effectivement renversé en jugeant le résultat du retour (ThinkPHP)
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.

Lancien pilote sest effectivement renversé en jugeant le résultat du retour (ThinkPHP)
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.

Lancien pilote sest effectivement renversé en jugeant le résultat du retour (ThinkPHP)
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 !

Lancien pilote sest effectivement renversé en jugeant le résultat du retour (ThinkPHP)
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

Lancien pilote sest effectivement renversé en jugeant le résultat du retour (ThinkPHP)
Imprimer le résultat

En ce moment, l'expression de Xiao Q est comme ça, il est vraiment en désordre maintenant

Lancien pilote sest effectivement renversé en jugeant le résultat du retour (ThinkPHP)
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.

Lancien pilote sest effectivement renversé en jugeant le résultat du retour (ThinkPHP)
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 !

Lancien pilote sest effectivement renversé en jugeant le résultat du retour (ThinkPHP)
Méthode supplémentaire

Vérifiez-la simplement.

Lancien pilote sest effectivement renversé en jugeant le résultat du retour (ThinkPHP)
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.

Lancien pilote sest effectivement renversé en jugeant le résultat du retour (ThinkPHP)
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é. Lancien pilote sest effectivement renversé en jugeant le résultat du retour (ThinkPHP)

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

Lancien pilote sest effectivement renversé en jugeant le résultat du retour (ThinkPHP)
Code

Le résultat renvoyé est définitivement le même que celui attendu. La vérité est toujours la vérité.

Lancien pilote sest effectivement renversé en jugeant le résultat du retour (ThinkPHP)
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!

Déclaration:
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