現在の位置: ホーム> 最新記事一覧> PHP 配列リバーサルのパフォーマンス分析とベスト プラクティス

PHP 配列リバーサルのパフォーマンス分析とベスト プラクティス

M66 2025-10-27

PHP 配列反転パフォーマンスの比較

PHP では、実行速度の観点から、配列反転方法は次のとおりです。array_reverse() 関数が最も高速で、次に for ループの手動使用、最後に while ループの手動使用が続きます。テスト配列サイズが 10,000 の場合、array_reverse() の実行時間は 0.0010440111160278 ミリ秒、for ループを使用した手動反転は 0.0014300346374512 ミリ秒、while ループを使用した手動反転は 0.0014059543609619 ミリ秒です。

配列反転の概要

配列の反転は、主に配列要素の順序を反転するために使用される一般的なプログラミング タスクです。 PHP では、一般的な実装方法には、組み込み関数と手動ループ操作が含まれます。この記事では、主要なメソッドのパフォーマンスを比較し、参考用のサンプル コードを提供します。

配列反転法

次の方法を比較します。

  • array_reverse() 関数
  • for ループを使用して手動で反転する
  • while ループを使用して手動で反転する

実践事例

10,000 個の整数の配列を作成し、各反転メソッドの実行時間を測定します。

コード例

$array = range(1, 10000);

//array_reverse()
$start = マイクロタイム(true);
$reversed_array_array_reverse = array_reverse($array);
$end = マイクロタイム(true);
$time_array_reverse = $end - $start;

// マニュアルで反転、`for` ループを使用 $start = microtime(true);
$reversed_array_for = [];
for ($i = count($array) - 1; $i >= 0; $i--) {
  $reversed_array_for[] = $array[$i];
}
$end = マイクロタイム(true);
$time_for = $end - $start;

// マニュアルで反転、`while` ループを使用 $start = microtime(true);
$reversed_array_while = [];
while (count($array) > 0) {
  $reversed_array_while[] = array_pop($array);
}
$end = マイクロタイム(true);
$time_while = $end - $start;

// 出力結果 echo "Time: array_reverse(): " . $time_array_reverse 。 " ミリ2番\n";
echo "時間: マニュアルで反転、`for` ループを使用: " . $time_for 。 " ミリ2番\n";
echo "時間: マニュアルで反転、`while` ループを使用: " . $time_while 。 " ミリ2番\n";

試験結果

テストでは、array_reverse() 関数が最も速く実行され、次に for ループの手動反転、最後に while ループの手動反転が続きました。配列サイズが 10,000 の場合の結果は次のようになります。

時間: array_reverse(): 0.0010440111160278 ミリ2番 時間: `for` ループを使用したマニュアル反転: 0.0014300346374512 ミリ2番 時間: `while` ループを使用したマニュアル反転: 0.0014059543609619 ミリ2番

結論と推奨事項

小さな配列の場合、array_reverse() が最も速くて簡単なオプションです。配列サイズが大きくなると、手動の for ループを使用した方がパフォーマンスが向上する場合がありますが、一般に while ループは若干遅くなります。実際のアプリケーションのシナリオに基づいて最も適切な配列反転方法を選択すると、PHP プログラムのパフォーマンスを効果的に最適化できます。