Döngüde dize birleştirme (ARCH7070)
Anahtar php.performance.string-concat-in-loop · Önem info · Kategori performance
Bir döngü içinde dizeye sürekli .= ile ekleme yapmak, her yinelemede dizeyi yeniden tahsis edebilir ve girdi büyüdükçe O(n^2) maliyete dönüşür. Parçaları biriktirip sonda birleştirin.
Hatalı
Bölüm başlığı “Hatalı”<?php$out = '';foreach ($rows as $row) { $out .= $row . "\n";}echo $out;<?php$parts = [];foreach ($rows as $row) { $parts[] = $row;}echo implode("\n", $parts);Düzeltme
Bölüm başlığı “Düzeltme”Parçaları bir diziye toplayın ve döngü bittikten sonra implode() ile tek seferde birleştirin.