ホームページ  >  記事  >  バックエンド開発  >  配列要素分割の関数効率比較・分析_PHPチュートリアル

配列要素分割の関数効率比較・分析_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:33:31702ブラウズ

そのような要件があります。配列 $data = array(12, 43, 87, 45) では、配列要素の番号を個別に区切るカスタム関数を記述する必要があります。最終的に形成される配列は次のとおりです。 (1、2、4、3、8、7、4、5)。これは、元の配列内のすべての数値を「単一」の数字に「分割」することを意味します。

以下は私が書いた関数です:

リーリー

テストしましたが、まだ機能します。次のように呼び出します:

リーリー

出力結果は次のとおりです:

リーリー

実行は良好ですが、標準的な答えを見ると驚くでしょう。関数には次の 1 つの文しかありません。 リーリー

そこで、独自の関数と標準関数の間の動作効率のギャップをテストするスクリプトを作成しました。その中には、正確な時間のサポートを提供する microtime_float() 関数があります。 リーリー

出力を見てみましょう:

リーリー

ページを複数回更新すると、標準関数の実行効率は基本的に独自関数の 3 倍であることがわかります。もちろん、標準関数は PHP の組み込み関数 str_split() や implode() を使用するため、自分で関数を記述するよりもはるかに高速です。 str_split() 関数についての印象はありませんか。マニュアルの説明を見てみましょう:

str_split -- 文字列を配列に変換します (文字列を配列に変換します)

機能の説明:

array str_split ( string string [, int split_length] )

文字列を配列に変換します。オプションのsplit_lengthパラメータが指定されている場合、返される配列はそれぞれの長さがsplit_lengthであるチャンクに分割されます。それ以外の場合、各チャンクの長さは1文字になります。

split_length が 1 未満の場合は FALSE が返されます。split_length の長さが文字列の長さを超える場合は、文字列全体が最初 (唯一の) 配列要素として返されます。

例 1. str_split() の使用例

リーリー

プログラムの実行結果:

リーリー

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

tru​​ehttp://www.bkjia.com/PHPjc/752468.html技術記事このような要件があり、配列 $data = array(12, 43, 87, 45) では、配列要素の番号を個別に区切るカスタム関数を記述する必要があります。最終的に形成される配列は次のとおりです。 $data =...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。