在C ++和JavaScript中,建议创建一个具有指定长度的数组,然后填充它。在PHP中有这样的语法吗?或者没有必要,因为PHP的数组是哈希?
ps:我正在使用mysql_fetch_array
从mysql填充一个数组,我正在运行一个循环,所以=(
答案 0 :(得分:2)
如果性能非常重要,您可以使用标准PHP库(SPL)中的SplFixedArray。一般来说,reguluar php数组都可以,不用担心所需数组的大小。
http://www.php.net/manual/en/class.splfixedarray.php
它们像其他语言中的数组一样工作。从文档“优势是它允许更快的阵列实现。”
答案 1 :(得分:1)
你根本不必担心。
尽管有一些古老书中的理论推荐,但在现实生活中的实际用法中,差异可以忽略不计,你永远不会注意到差异。
通常的网页很少会从数据库中填充超过100行。相信我,这样大小的阵列不是一件值得担心的事情 如果碰巧有一个更大的数组,你必须考虑不首先使用数组。
答案 2 :(得分:1)
你可以这样做:
$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++;
}
但我的建议是坚持正常的阵列。