一千萬個為什麽

搜索

PHP字符串加入速度慢?

php處理大量字符串似乎很慢,無論如何我可以提高它的速度嗎? 我試圖編寫的代碼將圖像變成一串RGB值供以後使用 它會是這樣的

$string = "255:255:253#12:12:23#33:34:24"/*an output of a $SIZE = 3 image*/

問題是當$ SIZE大到256時,產生字符串需要1秒鐘

$r = "";
$g = "";
$b = "";

for($y = 0; $y <= $SIZE-1; $y++){
    for($x = 0; $x <= $SIZE-1; $x++){


        {$r .= $arr2[$y][$x]["R"].":";}

        {$g .= $arr2[$y][$x]["G"].":";}

        {$b .= $arr2[$y][$x]["B"].":";}

    }
}
$r = rtrim($r, ":");
$g = rtrim($g, ":");
$b = rtrim($b, ":");
$str_a .= $r."#".$g."#".$b;

最佳答案

要記住的第一件事是你正在進行大量的叠代。如果你的$ SIZE var是256,那麽你實際上在進行256 X 256(65536)次叠代。你加速循環的最大希望是找到一種方法來做你需要在更少的循環中實現的東西。

您可以嘗試使用數組來構建要輸出的字符串,然後在完成後使用implode()。然而,這將是一個微優化,你從中獲得的速度增益可能不值得努力。我建議構建一個簡單的測試循環,你可以通過基準來比較字符串連接與數組構建和內爆。

轉載註明原文: PHP字符串加入速度慢?