用一个程序生成一个数组的CakePHP错误

时间:2014-11-15 22:34:02

标签: cakephp cakephp-2.5

我创建了一个程序,用我的英雄范围创建一个数组:

public function surface($fighterId,$porte_max,$porte_min){

    $porte = $porte_max;
    $longeur = 0;
    $surface;
    $i =0;
    $coordonne_x=$this->findById($fighterId, array('field'=>'coordinate_x'));
    $coordonne_y=$this->findById($fighterId, array('field'=>'coordinate_y'));

    for( $for = ($coordonne_y['Fighter']['coordinate_y'] - $porte) ; ($coordonne_y['Fighter']['coordinate_y'] + $porte) ; $for++)
    {
        for( $for2 = ( $coordonne_x['Fighter']['coordinate_x'] - $longeur) ; ($coordonne_x['Fighter']['coordinate_x'] + $longeur) ; $for2++)
        {

            $surface[$i] = '[' . $for . '|' . $for2  . ']';
            $i++;
        }
        if ($longeur < $porte)
        {
            $longeur++ ;
        }
        else $longeur-- ;    
    }
    return $surface;
}

我不明白错误:

  

致命错误:在第36行的/var/www/html/WebArenaGroupSI4-02-AF/app/Model/Fighter.php中,允许的内存大小为134217728个字节(试图分配32个字节)

1 个答案:

答案 0 :(得分:0)

这是PHP内存耗尽的问题。您可以在php.ini中更改PHP memory limit。然后重新启动服务器。

此外,您的代码仍然无穷无尽,for语句的正确语法如下所示

for(initializationvalue , conditions, updatevalue){
   // do your thing here
}

但是在你的情况下,你没有提出任何条件,而是做了计算。