PHP の文字列置換関数には、str_replace()、str_ireplace()、substr_replace()、preg_replace()、strtr() などが含まれます。プログラマがプログラムを作成するとき、多くの場合、自分の習慣に従ってこれらを使用し、いずれかを選択します。実際の状況に応じてさらに多くのことを行います。これらの関数はすべて文字列置換の機能を持っていますが、構文、機能、速度、効率の点で異なるため、あらゆる場面で使用できるわけではありません。
str_replace() と preg_replace() の違い
文字列置換関数の中で、str_replace() の使用率が最も高く、その使用法は比較的簡単ですが、preg_replace() は正規表現と正規表現の記述方法を理解する必要があるため、使用率は比較的低くなります。書くのが簡単ではない場合もあります。
Str_replace() と preg_replace() はさまざまな状況で使用されます。 str_replace で置き換えられる (検索される) 内容は固定的で確実なものです。 、すべての n を
などに置き換えることができます。 preg_replaceで置換(検索)する内容は、例えば、<と>で囲まれた内容(HTMLコード)を全て置換することができる。もちろん、preg_replace を使用して固定コンテンツを置き換えることもできます。
str_replace は preg_replace より高速です
この 2 つを比較すると、実行効率の点ではどちらが優れていますか?これには速度の問題が伴います。誰かがテストして、str_replace が preg_replace よりも高速であることがわかりましたが、一部の人が言うほど 4 倍も高速ではないようです。 2 単語の置換を 10w 回行った結果、str_replacece には 0.38 秒、preg_replace には 0.97 秒かかりました。
str_replace() と str_ireplace() の違い
str_replace() と str_ireplace() の使用法は同じです。違いは、str_replace() では大文字と小文字が区別されるのに対し、str_ireplace() では大文字と小文字が区別されないことです。
str_replace() と strtr() ではどちらが速いですか?
str_replace() と strtr() の実行効率についてはさまざまな意見がありますが、strtr() の方が str_replace() より速いという人もいますが、str_replace() の方が strtr() よりも速いことを証明した人もいます。例を通じて、より速くなります。
ネットユーザーが strtr(string,array) での strtr() の使用法をテストしたところ、str_replace よりも遅かったです。 2 単語の置換を 10w 回行った結果、str_replacece() には 0.38 秒かかり、strtr() には 0.52 秒かかりました。
PHP プログラムには、上記以外にもさまざまな関数を使用して実装できる関数が多数あります。たとえば、以前に共有された記事のように、
php は、文字列の長さを isset() の方が strlen() よりも高速であると判断します
したがって、使用する関数を選択するときは、よりパフォーマンスの高いプログラムを作成できるように、それらの関数がどれほど効率的であるかを知る必要があります。