php 内存不够 申请失败

for($k= sizeof($array);$k >$j;$k++){
$array[$k] = $array[$k - 1];
}
这种写法很占内存吗?
报错:Allowed memory size of 134217728 bytes exhausted
把php.ini中的memory_limit增大到 512M后,还是报错
Allowed memory size of 536870912 bytes exhausted (tried to allocate 64 bytes)
恰好也是4倍,我该怎么做?求大神帮帮忙

我觉得可能是循环导致不停的添加数组?

而且为什么会申请内存呢?这个array不是已经在内存里了吗?