PHPマスターへの道 (3)
ereg-replace の代わりに str-replace を使用してください
Perl でのプログラミングに慣れているプログラマーは、PHP での ereg_replace の使用法が Perl でのパターン マッチングの使用法に似ているため、文字列置換作業を完了するために ereg_replace を使用することをより積極的に行います。ただし、次のコードは、ereg_replace の代わりに str_replace を使用するとコードの速度が大幅に向上することを証明しています。
str_replace と ereg_replace の実行速度をテストします
//このコードは str_replace の実行速度をテストします
?>
for ($i=0; $i<1000; $i++) {
str_replace ( i>, b>, $string)
}
?>
//このコードは、($i=0; $i ereg_replace(<([/]*)i>, <1b>, $string)
?>
//結果を出力します
str_replace の使用時間 -
ereg_pattern の使用時間 -
上記のコードを実行すると、結果は次のようになります:
str_replace の使用時間 - 0.089757
ereg_pattern の使用時間 - 0.248881
実行結果から、str_replace が使用されていることがわかります。 ereg_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");$i++;
}
6. echo と print の違いに注意してください
PHP の echo と print の機能は基本的に同じですが、両者には微妙な違いがあります。たとえば、次のコードを実行すると、変数 $res の値は 1 になります。
$ret = print "Hello World";
これは、print は一部の複雑な式で使用できますが、echo は使用できないことを意味します。同様に、echo ステートメントは値を返す必要がないため、コード内の print ステートメントよりもわずかに高速に実行されます

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









MySQL は、データを処理および操作するためのさまざまな機能を提供する、一般的に使用されるリレーショナル データベース管理システムです。このうち、REPLACE関数は文字列の指定した部分を置き換える関数です。この記事では、MySQL で文字列を置換するための REPLACE 関数の使用方法を紹介し、コード例を通してその使用法を示します。まず、REPLACE 関数の構文を見てみましょう: REPLACE(str,search_str,replace_str)。

Python での文字列検索と置換のテクニックは何ですか? (具体的なコード例) Python では文字列が一般的なデータ型であり、日常のプログラミングでは文字列の検索や置換操作によく遭遇します。この記事では、一般的な文字列の検索と置換のテクニックを、具体的なコード例とともに紹介します。文字列内の特定の部分文字列を検索するには、文字列の find() メソッドまたは Index() メソッドを使用できます。 find() メソッドは、文字列内で最初に出現した部分文字列のインデックスを返します。

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Java では、StringBuilder クラスの replace() メソッドを使用して、文字列内のコンテンツの一部を置き換えます。Java プログラミングでは、文字列は非常に重要なデータ型であり、多くの場合、文字列を処理して操作する必要があります。また、ニーズを満たすために文字列の一部を置き換える必要がある場合もあります。 Java では、StringBuilder クラスの replace() メソッドを使用して文字列置換操作を実装できます。 StringBuilder は、

不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没问题。

写真が消える問題を解決する方法 まず、写真ファイル $file=$_FILES['userfile']; if(is_uploaded_file($file['tmp_name'])){$query=mysql_query("INSERT INTO gdb_banner() image_src) VALUES ('images/ {$file['name'

图片消失如何解决先是图片文件上传$file=$_FILES['userfile']; if(is_uploaded_file($file['tmp_name'])){$query=mysql_query("INSERT INTO gdb_banner(image_src ) VALUES ('images/{$file['name'
