php multidimensional SplFixedArray声明正在抛出致命错误

时间:2014-02-22 13:01:42

标签: php arrays

我想声明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',消息为'Index   /home/twa/files.php:168无效或超出范围堆栈跟踪:#0   /home/twa/files.php(168):未知()#1 {main}被投入   第168行/home/twa/files.php

$items=new SplFixedArray(SplFixedArray());也失败了......

请告诉我正确的语法......

1 个答案:

答案 0 :(得分:2)

$items = new SplFixedArray(5000);
for ($h=0; $h<5000; $h++) {
    $items[$h] = new SplFixedArray(24);
    for ($i=0; $i<24; $i++) {
        $items[$h][$i] = $objSheet->getCellByColumnAndRow($i,$h+1)->getValue();
    }
}