ホームページ バックエンド開発 PHPチュートリアル ワイルド・スピード 7 興行収入のリアルタイム更新。プログラミング速度ではなく、プログラム速度を追求します。

ワイルド・スピード 7 興行収入のリアルタイム更新。プログラミング速度ではなく、プログラム速度を追求します。

Jul 29, 2016 am 08:37 AM

1. PHP の echo ステートメントの代わりに、埋め込み HTML コードを使用します。
PHP は組み込み Web プログラミング言語であるため、HTML コードと PHP コードを相互に埋め込むことができます。しかし、多くのプログラマは、HTML コードに PHP コードを埋め込むために "" を過剰に使用すると、PHP インタプリタが複数回呼び出され、PHP コードの実行速度が低下することを懸念しているため、代わりに PHP の echo ステートメントを使用して HTML コードを出力することになります。 HTML コードを直接使用します。しかし、真実は全く逆です。各 PHP ページは、すべての PHP コードを解釈するために PHP インタープリタを 1 回だけ呼び出します。そのため、必要な場合にのみ PHP コードを埋め込み、ほとんどの場合、HTML コードを直接使用して結果を入力すると、プログラムの実行速度が低下することはありません。また、echo ステートメントの解析が軽減されるため、コードの実行速度が向上する場合があります。
次のコードは私たちの結論を証明しています。このコードでは、前に紹介した時間テスト関数を使用します。
2. ereg-replace の代わりに str-replace を使用します
Perl でのプログラミングに慣れているプログラマーは、文字列置換作業を完了するために ereg_replace を使用することを好むでしょう。これは、PHP での ereg_replace の使用法が Perl でのパターン マッチングの使用法に似ているためです。 。ただし、次のコードは、ereg_replace の代わりに str_replace を使用すると、コードの実行速度が大幅に向上することを示しています。
str_replace と ereg_replace の実行速度をテストします
//このコードは str_replace
emphasis の実行速度をテストします
for ($i=0; $istr_replace(i>, b> ; , $string)
}
?>
//このコードは ereg_replace
for ($i=0; $iereg_replace(<([/]*) ) i>, <1b>, $string)
}
?>
//結果を出力
結論
str_replace を使用する時間 -
ereg_pattern を使用する時間 -
上記のコードを実行すると、結果は次のようになります。 str_replace の時間 - 0.089757
ereg_pattern の使用時間 - 0.248881
実行結果から、文字列置換関数として ereg_replace の代わりに str_replace を使用すると、コードの実行速度が大幅に向上することがわかります。
3. 文字列の引用符に注意してください
他の多くのプログラミング言語と同様、PHP では二重引用符 ("") を使用して文字列を引用することも、一重引用符 () を使用することもできます。ただし、PHP では、二重引用符を使用して文字列を引用すると、PHP パーサーはまず文字列内に変数への参照があるかどうかを分析し、変数が存在する場合はその変数を置き換えます。一重引用符の場合は、それほど複雑ではありません。一重引用符で囲まれたすべての文字列が直接表示されます。明らかに、PHP プログラミングでは、二重引用符よりも一重引用符を使用して文字列変数を引用する方が高速です。
4. データベースでの共同操作の使用を避ける
他の Web プログラミング言語と比較して、PHP のデータベース機能は非常に強力です。ただし、PHP でデータベースを実行するのは依然として非常に時間と労力がかかるため、Web プログラマはデータベース クエリ操作を最小限に抑え、データベースに適切なインデックスを確立する必要があります。もう 1 つの注意すべき点は、PHP を使用してデータベースを操作する場合、複数のデータ テーブルの結合操作を使用しないようにすることです。結合操作はデータベースのクエリ機能を強化しますが、サーバーの負荷が大幅に増加します。
この問題を説明するために、以下の簡単な例を見てみましょう。
データベースに 2 つのデータテーブル foo と big_foo を作成しました。データテーブル foo には、1 から 1000 までのすべての自然数を含むフィールドが 1 つだけあります。データ テーブル big_foo にもフィールドは 1 つしかありませんが、1 から 1,000,000 までのすべての自然数が含まれています。したがって、サイズの点では、big_foo は foo とそれ自体を組み合わせたものと等しくなります。
$db->query("select * from foo");
0.032273 秒
$db->next_record();
0.00048999999999999 秒
$db->query("foo 値に挿入 (NULL) ) ") ;
0.019506 秒
$db->query("select * from foo as a, foo as b");
17.280596 秒
$db->query("select * from foo as a, foo as b where a .id > b.id");
14.645251 秒
$db->query("select * from foo as a, foo as b where a.id = b.id");
0.041269 秒
$ db- >query("select * from big_foo");
25.393672 秒
上記の操作結果から、1,000 レコードを持つ 2 つのデータ テーブルを結合する速度は、1,000 レコードを持つ大規模なデータ テーブルほど速くないことがわかります。 1,000,000 件のレコードを単独で実行するとどれだけ早くなるでしょうか。
5. include と require の違いに注意してください
PHP プログラミングでは、include() と require() は同じ機能ですが、include() は条件付き包含関数であるのに対し、require() には使用方法がいくつか異なります。無条件に組み込まれる関数です。たとえば、次の例では、変数 $somgthing が true の場合、ファイル somefile がインクルードされます。次のコードは、ファイル somefile をファイルにインクルードします:
if($something){
require("somefile");
} 次の興味深い例は、これら 2 つの関数の違いを完全に示しています。
$i = 1;
while ($i < 3) {
require("somefile.$i");
$i++;
このコードでは、ループするたびにプログラムが同じファイルにインクルードされます。ファイル。明らかに、これはプログラマーの本来の意図ではありません。コードから、このコードが各ループに異なるファイルを含めることを望んでいることがわかります。この関数を完了するには、関数
include(){
$i = 1;
while ($i include("somefile.$i"); を使用する必要があります。
}
6. echo と print の違いに注意してください
PHP の echo と print の機能は基本的に同じですが、両者には微妙な違いがあります。たとえば、次のコードを実行すると、変数 $res の値は 1 になります。
$ret = print "Hello World";
これは、print は一部の複雑な式で使用できるが、echo は使用できないことを意味します。同様に、コード内の echo ステートメントは、値を返す必要がないため、print ステートメントよりもわずかに高速に実行されます

上記はワイルドスピード 7 興行収入のリアルタイム更新を紹介しましたが、番組の速度ではなく、ワイルドスピード 7 興行収入のリアルタイム更新が含まれることを願っています。 PHP チュートリアルに興味のある友人に役立ちます。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

セッションのハイジャックはどのように機能し、どのようにPHPでそれを軽減できますか? セッションのハイジャックはどのように機能し、どのようにPHPでそれを軽減できますか? Apr 06, 2025 am 12:02 AM

セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。

確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。 確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。 Apr 03, 2025 am 12:04 AM

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

phpstormでCLIモードをデバッグする方法は? phpstormでCLIモードをデバッグする方法は? Apr 01, 2025 pm 02:57 PM

phpstormでCLIモードをデバッグする方法は? PHPStormで開発するときは、PHPをコマンドラインインターフェイス(CLI)モードでデバッグする必要がある場合があります。

システムの再起動後にUnixSocketの権限を自動的に設定する方法は? システムの再起動後にUnixSocketの権限を自動的に設定する方法は? Mar 31, 2025 pm 11:54 PM

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? Apr 01, 2025 pm 03:12 PM

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

See all articles