The old driver actually overturned in judging the return result (ThinkPHP)
"This article is basic content. If you see it, please check whether your own code has the same problem
"
Preface
Little Q comes again with a question. Today’s question is probably one that most comrades will make.
The problem is to determine whether the result returned by the query is empty when using ThinkPHP.
Aren’t you very confident? What’s wrong with this? It’s just empty! If you think so, then simply read the article!
“The reason for this problem is that it is not clear what type the results returned by the framework query database are. Knowing the type is a very simple problem.
”
1. Reappearance of the problem
The database is very simple, just a table user. There is no data in this table, it is an empty table.
Then use the ThinkPHP framework to query the data of this table
Little Q will give you three seconds to think about what value will be returned here. Either return no data yet, or return data from the user table.
Little Q said without hesitation that no data will be returned because there is no data in the user table at all.
So let’s take a look at the printed results.
Xiao Q opened his eyes wide and did not see the four words "no data yet". Instead, an empty array was returned (I think so for the time being).
“Here we temporarily think that this is an empty array. In fact, it just looks like an array. The real data structure is a result set. As for what a result set is, you can decide by yourself. Baidu!
”
At this time, Little Q was confused! How did that happen! At Xiao Q’s strong request, the date data was printed
The return result is still an empty array (I think so for the time being)
Then judging whether an array is empty must be done by empty(), right!
Little Q nodded confidently. There must be no problem this time. I have been writing this way for several years, and I use empty to judge.
In order to let Xiao Q see the urn crying, Kaka can only judge whether the value is empty once. .
The code is as follows
Little Q had a bright smile on his face, and I couldn’t bear to click the request button .
Having no choice but to meet Xiao Q’s expectations, he cruelly pressed the request button.
After seeing the return result above, the smile on Xiao Q’s face suddenly stopped, followed by a face full of doubts big face plate.
Checked the written judgment code again to see if there is any problem.
I have been in the battlefield for decades, copy and paste, just pick up the keyboard and do it. How could I write this code wrong?
Xiao Q finally couldn't sit still and asked with a smile, what's going on!
Finally we are coming to the point. Please continue to see how to make Xiao Q understand the truth.
2. Solve the problem
It is urgent to check whether the returned data is what we insist on. Array, check it next.
So I picked up the keyboard and typed eight times, and that was the is_array function.
Initiate the request again
At this time, Xiao Q’s expression is like this, this time it is really messy
So I opened the official website document calmly and gave Xiao Q a look
The official website clearly states that the result returned by the data is the data set, and it is the default in version 5.1.
Continue reading and you will see what the additional methods are. The first one is to recognize whether it is empty or not.
Little Q said in shock, Damn it, it can’t be judged in this way!
Just check it.
Little Q finally said with runny nose and tears, I thought there was something wrong with my eyes!
Why can’t we tell that it’s obviously empty data? He let out a long breath.
"Little Q looked at me with a confused look and said, since using After adopting the 5.1 framework, all judgments are written like this. Xiao Q hurriedly ran out and said only one sentence, hurry up and fix the code before there are no problems online, otherwise I will be laid off.
”
Having solved Xiao Q’s problem, let’s talk about other things.
3. Extension
After solving Xiao Q’s problem, let’s talk about some serious topics.
There is an omitted problem in the above article, that is empty, in PHP To determine whether the array is empty, empty is used.
Xiao Q firmly believes that this is the case, so can this usage still be used in the framework?
There must be no problem! Look at the picture below
The returned result must be the same as expected. The truth is always the truth.
4. Summary
A summary for Xiao Q, the essence is always so simple.
Although the returned results can be modified in the database configuration file, it is not recommended to modify it.
Since the framework has defaulted to the result set, then use the result set. If you have to use an array, that is okay.
After Xiao Q’s question, we need to pay attention to the following issues.
When using find query, if the result is empty and the returned result is null, then you can use for judgment!
To judgeWhen using select query, if the result is empty, the returned result is an empty result set. You can use the additional function toArray() of the result set to convert it to Array, and then use empty to judge. However, if you just use the result set to make a judgment, you can use the function provided by $data->isEmpty() to make the judgment.
“Persistence in learning, persistence in blogging, and persistence in sharing are the beliefs that Kaka has always adhered to since he started working in the industry. I hope that Kaka’s success in the huge Internet The article can bring you a little bit of help. I am Kaka, see you next time.
”
The above is the detailed content of The old driver actually overturned in judging the return result (ThinkPHP). For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Atom editor mac version download
The most popular open source editor

SublimeText3 Linux new version
SublimeText3 Linux latest version

SublimeText3 Mac version
God-level code editing software (SublimeText3)

SublimeText3 English version
Recommended: Win version, supports code prompts!

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.