【发布时间】:2014-03-24 03:55:06
【问题描述】:
我要声明 SplFixedArray();以节省内存消耗。但它会引发致命错误。
$items=new SplFixedArray();
echo "Array Started...";
for($h=0;$h<5000;$h++)
{
for($i=0;$i<24;$i++)
{
$items[$h][$i]=$objSheet->getCellByColumnAndRow($i,$h+1)->getValue();
}
}
如果不声明new SplFixedArray();,同样的工作
错误:
致命错误:未捕获的异常“RuntimeException”和消息“索引” /home/twa/files.php:168 中的无效或超出范围' 堆栈跟踪:#0 /home/twa/files.php(168): unknown() #1 {main} 抛出 /home/twa/files.php 第 168 行
$items=new SplFixedArray(SplFixedArray()); 也失败了...
请告诉我正确的语法...
【问题讨论】:
-
您没有指定
new SplFixedArray();的大小$h和$i有什么值? -
@cornelb : h=5000 & i =30 ;问题相应修改
-
你也可以粘贴循环代码吗?
-
我很惊讶它完全可以工作 - 如果没有值传递给
SplFixedArray的构造函数,文档建议它的大小为 0。 -
我也更新了答案