実は古いドライバは戻り結果の判定でひっくり返った(ThinkPHP)
#"この記事は基本的な内容です。ご覧になった場合は、自分のコードでも同じ問題が発生していないか確認してください。"
リトル Q がまた質問をします。今日の質問は、おそらくほとんどの同志がするであろう質問です。
問題は、
ThinkPHP を使用したときにクエリによって返された結果が空かどうかを判断することです。 あまり自信がありませんか?これの何が問題ですか?ただの空っぽです!そう思ったら、ぜひ記事を読んでみてください!
#“
この問題の理由は、フレームワーク クエリ データベースによって返される結果のタイプが明確ではないことです。タイプを知ることは非常に単純な問題です。 ”笑い飛ばして恨みを晴らしましょう
1. 問題の再発データベースは非常に単純で、テーブル ユーザーのみです。このテーブルにはデータがなく、空のテーブルです。 次に、ThinkPHP フレームワークを使用してこのテーブルのデータをクエリします
Little Q では、ここでどのような値が返されるかを 3 秒間考えます。まだデータを返さないか、ユーザー テーブルからデータを返します。 リトル Q は、ユーザー テーブルにはデータがまったくないため、データは返されないと躊躇せずに言いました。 それでは、印刷結果を見てみましょう。 Xiao Q は目を見開いて「まだデータがありません」という 4 つの単語が表示されず、代わりに空の配列が返されました (今のところはそうだと思います)。“ ここでは、これを空の配列であると一時的に考えます。実際には、配列のように見えるだけです。実際のデータ構造は結果セットです。 Baidu! ”現時点では、Little Qは混乱していました!どうしてこうなりました! Xiao Q の強いリクエストにより、日付データが出力されました 戻り結果はまだ空の配列です (私はそう思う)当面)
では、配列が空かどうかの判断は empty() で行う必要があります。
リトル Q は自信を持ってうなずきました。今回は問題ないはずです。私は数年間この方法で書いてきました。判断には空を使用します。
シャオ Q に壺が泣いているところを見せるために、カカは値が空かどうかを一度だけ判断できます。
コードは次のとおりです。
リトル Q の顔には明るい笑顔があり、私は耐えられませんでした。リクエストボタンをクリックしてください。
シャオ Q の期待に応えるしかなく、彼は残酷にもリクエスト ボタンを押しました。
上記の返却結果を見た後、シャオ Q の顔の笑顔は突然止まり、その後、大きな疑問に満ちた顔になりました。
書かれた判定コードに問題がないか再度確認しました。 私は何十年も戦場にいて、コピー&ペーストしてキーボードを手に取り、それを実行してきました。どうしてこのコードを間違って書くことができたのでしょうか? シャオQはついにじっとしていられなくなり、何が起こっているのか笑顔で尋ねました。
いよいよ本題に入りますが、引き続き小Qに真実を理解させる様子をご覧ください。
#2. 問題を解決する
返されたデータが私たちが要求したものであるかどうかを確認することが急務です。配列、次に確認してください。
そこで私はキーボードを手に取り、8 回タイプしました。それが is_array 関数でした。
リクエストを再度開始してください
このとき、Xiao Q の表情は次のようになります。今回は本当にそうです。乱雑
そこで私は冷静に公式ウェブサイトの文書を開いて、Xiao Qに見てもらいました公式Web サイトには、データによって返される結果がデータ セットであり、それがバージョン 5.1 のデフォルトであることが明確に記載されています。 続きを読むと、追加のメソッドが何であるかがわかります。最初のメソッドは、それが空かどうかを認識することです。 小さなQはショックを受けてこう言いました。「くそー、こんな風に判断できるわけがない!」
確認してください。
リトルQはついに鼻水と涙を流しながら言いました、私の目に何か問題があるのではないかと思いました!
なぜ明らかに空のデータだと言えないのでしょうか?彼は長い息を吐き出した。
"リトル Q は困惑した表情で私を見てこう言いました。 5.1フレームワークでは、すべての判断がこのように書かれています。 Xiao Qは急いで飛び出してきて、ただ一言だけ言いました、オンラインに問題がなくなる前に急いでコードを修正してください、そうでなければ私は解雇されます。
#"
Xiao Q の問題を解決したら、他のことについて話しましょう。
3. 拡張機能
#Xiao Q の問題を解決した後、いくつかの深刻なトピックについて話しましょう。上記の記事には省略された問題があります。つまり、PHP To には空です。配列が空であるか、空が使用されているかを判断します。 Xiao Q はこれが事実であると確信していますが、この使用法は引き続きフレームワークで使用できますか?問題ないはずです!下の図を見てください。
返された結果は期待どおりである必要があります。真実は常に真実です。
4. 概要
Xiao Qの要約、本質はいつもとてもシンプルです。 返された結果はデータベース構成ファイルで変更できますが、変更することはお勧めしません。 フレームワークはデフォルトで結果セットを使用するように設定されているため、結果セットを使用します。配列を使用する必要がある場合でも問題ありません。 Xiao Q の質問を受けて、次の問題に注意する必要があります。- 検索クエリを使用する場合、結果が空で返された結果が null の場合は、
を使用して判断できます。 判定方法
- 選択クエリを使用する場合、結果が空の場合、返される結果は空の結果セットです。結果セットの追加関数 toArray() を使用できます。それを配列に変換し、空を使用して判断します。ただし、結果セットだけを使って判定する場合は、$data->isEmpty() が提供する関数を使って判定することができます。
「学習の継続、ブログの継続、共有の継続は、Kaka がこの業界で働き始めて以来、常に堅持してきた信念です。巨大なインターネットにおけるカカの成功を願っています。この記事があなたに少しでも役立つことを願っています。私はカカです。また次回お会いしましょう。”
以上が実は古いドライバは戻り結果の判定でひっくり返った(ThinkPHP)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ThinkPHP プロジェクトを実行するには、Composer をインストールし、Composer を使用してプロジェクトを作成し、プロジェクト ディレクトリに入り、php bin/consoleserve を実行し、http://localhost:8000 にアクセスしてようこそページを表示する必要があります。

ThinkPHP には、さまざまな PHP バージョン向けに設計された複数のバージョンがあります。メジャー バージョンには 3.2、5.0、5.1、および 6.0 が含まれますが、マイナー バージョンはバグを修正し、新機能を提供するために使用されます。最新の安定バージョンは ThinkPHP 6.0.16 です。バージョンを選択するときは、PHP バージョン、機能要件、コミュニティ サポートを考慮してください。最高のパフォーマンスとサポートを得るには、最新の安定バージョンを使用することをお勧めします。

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構成します。 Webサーバーを起動します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

Laravel フレームワークと ThinkPHP フレームワークのパフォーマンスの比較: ThinkPHP は、最適化とキャッシュに重点を置いて、一般に Laravel よりもパフォーマンスが優れています。 Laravel は優れたパフォーマンスを発揮しますが、複雑なアプリケーションの場合は、ThinkPHP の方が適している可能性があります。

「開発に関する提案: ThinkPHP フレームワークを使用して非同期タスクを実装する方法」 インターネット技術の急速な発展に伴い、Web アプリケーションには、多数の同時リクエストと複雑なビジネス ロジックを処理するための要件がますます高まっています。システムのパフォーマンスとユーザー エクスペリエンスを向上させるために、開発者は多くの場合、電子メールの送信、ファイルのアップロードの処理、レポートの生成など、時間のかかる操作を実行するために非同期タスクの使用を検討します。 PHP の分野では、人気のある開発フレームワークとして ThinkPHP フレームワークが、非同期タスクを実装するための便利な方法をいくつか提供しています。

ThinkPHP のインストール手順: PHP、Composer、および MySQL 環境を準備します。 Composer を使用してプロジェクトを作成します。 ThinkPHP フレームワークと依存関係をインストールします。データベース接続を構成します。アプリケーションコードを生成します。アプリケーションを起動し、http://localhost:8000 にアクセスします。

ThinkPHP は、キャッシュ メカニズム、コードの最適化、並列処理、データベースの最適化などの利点を備えた高性能 PHP フレームワークです。公式パフォーマンステストでは、1秒あたり10,000以上のリクエストを処理できることが示されており、実際のアプリケーションではJD.comやCtripなどの大規模なWebサイトやエンタープライズシステムで広く使用されています。

開発の提案: API 開発に ThinkPHP フレームワークを使用する方法 インターネットの継続的な発展に伴い、API (アプリケーション プログラミング インターフェイス) の重要性がますます高まっています。 API は、異なるアプリケーション間の通信の橋渡しとなるもので、データの共有や関数の呼び出しなどを実現し、開発者に比較的簡単かつ迅速な開発手法を提供します。優れた PHP 開発フレームワークである ThinkPHP フレームワークは、効率的でスケーラブルで使いやすいです。
