Home PHP Framework ThinkPHP The old driver actually overturned in judging the return result (ThinkPHP)

The old driver actually overturned in judging the return result (ThinkPHP)

Jan 08, 2021 am 10:14 AM
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.

The old driver actually overturned in judging the return result (ThinkPHP)
Smile away the grudges

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.

The old driver actually overturned in judging the return result (ThinkPHP)
Database

Then use the ThinkPHP framework to query the data of this table

The old driver actually overturned in judging the return result (ThinkPHP)
Query code

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!

The old driver actually overturned in judging the return result (ThinkPHP)
Return results

At this time, Little Q was confused! How did that happen! At Xiao Q’s strong request, the date data was printed

The old driver actually overturned in judging the return result (ThinkPHP)
I hope it’s not you

The return result is still an empty array (I think so for the time being)

The old driver actually overturned in judging the return result (ThinkPHP)
Return result

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.

The old driver actually overturned in judging the return result (ThinkPHP)
Confident You

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

The old driver actually overturned in judging the return result (ThinkPHP)
Code print

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.

The old driver actually overturned in judging the return result (ThinkPHP)
Return result

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.

The old driver actually overturned in judging the return result (ThinkPHP)
Doubts

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!

The old driver actually overturned in judging the return result (ThinkPHP)
小Q's smile

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

The old driver actually overturned in judging the return result (ThinkPHP)
Print the result

At this time, Xiao Q’s expression is like this, this time it is really messy

The old driver actually overturned in judging the return result (ThinkPHP)
You were not like this before

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.

The old driver actually overturned in judging the return result (ThinkPHP)
Official website documentation

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!

The old driver actually overturned in judging the return result (ThinkPHP)
Additional methods

Just check it.

The old driver actually overturned in judging the return result (ThinkPHP)
Detection code

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.

The old driver actually overturned in judging the return result (ThinkPHP)
Return results
"

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. The old driver actually overturned in judging the return result (ThinkPHP)

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 old driver actually overturned in judging the return result (ThinkPHP)
Code

The returned result must be the same as expected. The truth is always the truth.

The old driver actually overturned in judging the return result (ThinkPHP)
Return results

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 judge
  • When 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!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to run thinkphp project How to run thinkphp project Apr 09, 2024 pm 05:33 PM

To run the ThinkPHP project, you need to: install Composer; use Composer to create the project; enter the project directory and execute php bin/console serve; visit http://localhost:8000 to view the welcome page.

There are several versions of thinkphp There are several versions of thinkphp Apr 09, 2024 pm 06:09 PM

ThinkPHP has multiple versions designed for different PHP versions. Major versions include 3.2, 5.0, 5.1, and 6.0, while minor versions are used to fix bugs and provide new features. The latest stable version is ThinkPHP 6.0.16. When choosing a version, consider the PHP version, feature requirements, and community support. It is recommended to use the latest stable version for best performance and support.

How to run thinkphp How to run thinkphp Apr 09, 2024 pm 05:39 PM

Steps to run ThinkPHP Framework locally: Download and unzip ThinkPHP Framework to a local directory. Create a virtual host (optional) pointing to the ThinkPHP root directory. Configure database connection parameters. Start the web server. Initialize the ThinkPHP application. Access the ThinkPHP application URL and run it.

Which one is better, laravel or thinkphp? Which one is better, laravel or thinkphp? Apr 09, 2024 pm 03:18 PM

Performance comparison of Laravel and ThinkPHP frameworks: ThinkPHP generally performs better than Laravel, focusing on optimization and caching. Laravel performs well, but for complex applications, ThinkPHP may be a better fit.

How to install thinkphp How to install thinkphp Apr 09, 2024 pm 05:42 PM

ThinkPHP installation steps: Prepare PHP, Composer, and MySQL environments. Create projects using Composer. Install the ThinkPHP framework and dependencies. Configure database connection. Generate application code. Launch the application and visit http://localhost:8000.

Development suggestions: How to use the ThinkPHP framework to implement asynchronous tasks Development suggestions: How to use the ThinkPHP framework to implement asynchronous tasks Nov 22, 2023 pm 12:01 PM

"Development Suggestions: How to Use the ThinkPHP Framework to Implement Asynchronous Tasks" With the rapid development of Internet technology, Web applications have increasingly higher requirements for handling a large number of concurrent requests and complex business logic. In order to improve system performance and user experience, developers often consider using asynchronous tasks to perform some time-consuming operations, such as sending emails, processing file uploads, generating reports, etc. In the field of PHP, the ThinkPHP framework, as a popular development framework, provides some convenient ways to implement asynchronous tasks.

How is the performance of thinkphp? How is the performance of thinkphp? Apr 09, 2024 pm 05:24 PM

ThinkPHP is a high-performance PHP framework with advantages such as caching mechanism, code optimization, parallel processing and database optimization. Official performance tests show that it can handle more than 10,000 requests per second and is widely used in large-scale websites and enterprise systems such as JD.com and Ctrip in actual applications.

RPC service based on ThinkPHP6 and Swoole to implement file transfer function RPC service based on ThinkPHP6 and Swoole to implement file transfer function Oct 12, 2023 pm 12:06 PM

RPC service based on ThinkPHP6 and Swoole implements file transfer function Introduction: With the development of the Internet, file transfer has become more and more important in our daily work. In order to improve the efficiency and security of file transfer, this article will introduce the specific implementation method of the RPC service based on ThinkPHP6 and Swoole to implement the file transfer function. We will use ThinkPHP6 as the web framework and utilize Swoole's RPC function to achieve cross-server file transfer. 1. Environmental standard

See all articles