在C++和JavaScript中,建議創建一個具有指定長度的數組,然後填充它。在PHP中有這樣的語法嗎?或者沒有必要,因爲PHP的數組是一個散列?PHP:更快地使用mysql_fetch_array的數組populatin
PS:我使用的是mysql_fetch_array
填充從MySQL一個數組,我運行一個循環,它使=(
在C++和JavaScript中,建議創建一個具有指定長度的數組,然後填充它。在PHP中有這樣的語法嗎?或者沒有必要,因爲PHP的數組是一個散列?PHP:更快地使用mysql_fetch_array的數組populatin
PS:我使用的是mysql_fetch_array
填充從MySQL一個數組,我運行一個循環,它使=(
你可以做這樣的事情:
$size = 10;
$data = new SplFixedArray($size);
$i = 0;
while ($row = mysql_fetch_assoc($result)) {
if($data->offsetExists($i)) {
$data[$i] = $row;
} else {
$size += 10;
$data->setSize($size);
$data[$i] = $row;
}
$i++;
}
但我的建議是堅持正常的陣列。
您可以從標準PHP庫(SPL)使用SplFixedArray,如果性能是非常重要的在一般reguluar PHP數組會被罰款,而不必擔心陣列所需的大小。
http://www.php.net/manual/en/class.splfixedarray.php
他們的工作就像陣列中其他漢語語言做的。從文檔「的好處是,它允許更快的陣列實施「。
你根本不用擔心。
儘管理論來自一些古籍的建議,在現實生活中的實際用法的差異將可以忽略不計,你永遠不會注意到的差異。
通常的網頁很少從數據庫中填充超過100行。相信我,這樣大小的數組並不是一件值得擔心的事情。
如果它碰巧有一個更大的數組的大小,你必須首先考慮不使用數組。
,但如果我們必須填充100行,那麼`SplFixedArray`比標準數組快30%(!)! ; P – meze 2011-02-17 11:02:00
`SplFixedArray`不適合小數組 – meze 2011-02-17 10:51:59
謝謝,我從來沒有聽說過`SplFixedArray`!我將在稍後測試性能以選擇最佳方式 – Dan 2011-02-17 11:08:20