PHP の要素ごとの変換のパフォーマンス比較: Foreach、Lambda を使用したマップ、および静的関数を使用したマップ
問題
配列を別の配列に変換することは、 PHP の一般的なタスク。一般的に使用される 3 つのアプローチは、foreach ループ、ラムダ関数を使用した array_map、および静的関数を使用した array_map です。最適なソリューションを選択する際に情報に基づいた意思決定を行うには、これらのアプローチ間のパフォーマンスの違いを理解することが重要です。
方法論
変換した PHP スクリプトを使用してベンチマークを実行しました。 10 倍した 1,000 個の数値の配列。正確なパフォーマンスを得るために、スクリプトは Xdebug の有無にかかわらず実行されました。
結果
Xdebug あり
Approach | Time |
---|---|
Foreach | 0.792325 seconds |
Map with Lambda | 4.108242 seconds |
Map with Static Function | 1.788457 seconds |
Xdebug なし
Approach | Time |
---|---|
Foreach | 0.698307 seconds |
Map with Lambda | 0.785845 seconds |
Map with Static Function | 0.851253 seconds |
所見
追加のアプローチ
別のアプローチarray_map のラムダ関数の代わりにカスタム関数を使用することを検討する価値があります。これにより、特定のシナリオではパフォーマンスが向上する可能性がありますが、特定の使用例ではベンチマークが必要です。
最適なアプローチの選択
推奨されるアプローチは、次のような要因によって異なります。
結論として、パフォーマンスの違いは顕著ですが、選択はforeach 間、ラムダを使用したマップ、または静的関数を使用したマップは、各プロジェクトの特定の要件と制約に基づいて作成する必要があります。
以上がどの PHP 配列変換メソッドが最も速いですか: `foreach`、Lambda を使用した `array_map`、または静的関数を使用した `array_map` のうちどれですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。