PHP プログラミングのヒント: 指定されたフィールドを持つ配列データをインデックスとして返す_PHP チュートリアル

WBOY
リリース: 2016-07-20 11:13:29
オリジナル
958 人が閲覧しました

新しいプロジェクトに出会ってから開発が完了するまで、私たちは自分が書いたコードをじっくりと読み返すことが多く、その多くは以前に使いこなしたコードです。したがって、新しいプロジェクトを完了するたびに、プロジェクトの概要とコードの概要を適切に実行すると、将来のプロジェクトでそれを使用できるようになり、コードの最適化やより良いアイデア、より迅速な実装方法など、予期せぬ利益が得られる可能性が非常に高くなります。 。

優れたプログラム開発者を決定するのは、コードの量ではなく、コードの単純さと、複雑なロジックにもかかわらず実装の容易さである場合があります。これらは、プログラマーが優れたプログラマーであるかどうかを示す要素です。私たちは、昼も夜も夜遅くまで残業して、大量のコードを急いで書くプログラマーにはなりたくないのです。

このブログでは、いくつかの PHP プログラミング スキルを共有します。スキルの中には、他の人のコードを見て学んだものと、私自身が要約したものがあります。

特定のフィールドをインデックスとして使用して、データベースから取得したデータ配列を返します

例を挙げると簡単です:

他の Web サイトからの指定したサイトのトラフィックをカウントし、各 Web サイトのトラフィックを毎日チェックするための小さなバックエンドを作成するとします。まず 2 つのデータテーブルを作成しましょう:

表 1. サイト構成表 (これらの Web サイトのトラフィックのみがカウントされます)

リーリー

表 2. サイトのトラフィック統計テーブル (ユーザーごとに 1 つのレコード)

リーリー

site_config テーブルの読み取り操作は書き込み操作よりも大きいため、タイプは MyISAM に設定され、site_stat テーブルの書き込み操作は読み取り操作よりも大きいため、テーブル タイプを InnoDB に設定します。 (これらはデータ設計時に考慮する必要があることであり、速度が大幅に向上します)。

トピックに戻り、テーブル site_config に複数のデータがある場合:

データ形式は次のとおりです: id、sid、site_url、add_time

1,200,baidu.com,2013-06-30 14:20:00

2,201,google.com,2013-06-30 14:20:00

3,202,cnblogs.com,2013-06-30 14:20:00

4,203、codejia.net、2013-06-30 14:20:00

次のように、サイト トラフィック統計テーブル site_stat に一部のデータが生成されています。

データ形式は次のとおりです: id、sid、ip_address、add_time

1,200,167.87.32.4,2013-06-30 14:40:00

2,200,192.168.11.56、2013-06-30 14:40:10

3,202,167.87.32.4,2013-06-30 14:40:10

4,202,192.168.11.56、2013-06-30 14:40:20

5,203,167.87.32.4,2013-06-30 14:40:20

6,202,10.10.10.10,2013-06-30 14:40:30

7,200,167.87.32.4,2013-06-30 14:40:31

バックグラウンドで作成する必要があるレポート形式は、日付、WebサイトID、WebサイトURL、トラフィック数(トラフィックのないサイトも表示する必要があり、トラフィックは0と表示されます)

日付に基づいてテーブル site_config を左結合し、テーブル site_stat でグループ化してから左結合することを考えるかもしれませんが、これは明らかに私が共有する方法ではありません。

これを行うには 2 つの SQL を使用します。1 つはすべてのサイトを取得することで、もう 1 つは指定された日付のサイトのトラフィック統計を取得することです。

SQL1 はすべてのサイトを取得します:

リーリー

SQL2 はサイト統計を取得します (今日の場合):

リーリー

先ほど述べたことの多くは、渡されたフィールドをインデックスとして使用して 2 次元配列を返す PHP メソッドを共有しましょう。 リーリー

SQL とインデックスを作成する必要があるフィールドを渡します。前提として、渡されるフィールドは select によって返されるフィールドの中にある必要があります。

すべてのサイトを取得する場合は、過去フィールドを渡す必要はありませんが、サイトのトラフィック統計を取得する場合は、次のようなサイト sid を渡します。 リーリー

最後に、レポートを表示するときに、foreach を使用して $sites をループし、トラフィックを取得するときに、配列 $data に移動して、インデックス sid を持つデータを取得します。

とても便利でマスターしやすいので、よく使っています。

最後に、上の表の統計結果レポートを見てください:

形式は次のとおりです: 日付、ウェブサイトID、ウェブサイトURL、トラフィック数

2013-06-30,200,baidu.com,3

2013-06-30,201,google.com,0

2013-06-30,202,cnblogs.com,3

2013-06-30,203,codejia.net,1

要約: これだけ書くと、ほんの小さなスキルを示しているように見えますが、このスキルを過小評価しないでください。かなりの時間を節約できます。そのため、皆さんもコードを書くときにもっとまとめて、ブログパークに来てみんなとコミュニケーションを取りながら学んでいけば、あなたのプログラミングレベルは確実に早く上がります!

http://www.bkjia.com/PHPjc/440351.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/440351.html技術記事多くの場合、新しいプロジェクトに出会ってから開発が完了するまで、自分が書いたコードをじっくりと読み返しますが、その多くは以前に使いこなしたコードです。それでは最後に…
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート