Php 在Laravel中使用for循环后允许的内存大小已耗尽

Php 在Laravel中使用for循环后允许的内存大小已耗尽,php,laravel,Php,Laravel,我有一个简单的代码: for($i = 0; $i <= $this->number_of_pages;$i++) { $page[$i] = $i + 1; } for($i=0;$i页数;$i++) { $page[$i]=$i+1; } 页数始终是一个整数,并且永远不会大于5,但是当页数为1时,我会出现此错误: 允许的内存大小134217728字节已用尽(已尝试分配 134217736字节) 我已经通过简单地更改修复了它。看起来您的$thi

我有一个简单的代码:

 for($i = 0; $i <= $this->number_of_pages;$i++)
    {
        $page[$i] = $i + 1;
    }
for($i=0;$i页数;$i++)
{
$page[$i]=$i+1;
}
页数始终是一个整数,并且永远不会大于5,但是当页数为1时,我会出现此错误:

允许的内存大小134217728字节已用尽(已尝试分配 134217736字节)


我已经通过简单地更改
修复了它。看起来您的
$this->number\u of u pages
不是整数,您是否尝试转储它的值或将
1
硬编码到它的位置?

看起来您的
$this->number\u of u pages
不是整数,您是否尝试转储它的值或将
1
硬编码到它的位置?

设置
$this->页数的函数将为我提供
true
而不是
1
。该函数本身来自已安装的PHP模块,我无法控制它,所以我只设置了一个简单的

if($this->number_of_pages === "true")
{
$this->number_of_pages = 1;
}

如果给定的值不是整数,我认为PHP根本不应该循环,事实上,它实际上在第二个循环示例中起作用,但在第一个循环示例中不起作用,这让我感到困惑。

设置
$this->页数的函数给了我
true
,而不是
1
。该函数本身来自已安装的PHP模块,我无法控制它,所以我只设置了一个简单的

if($this->number_of_pages === "true")
{
$this->number_of_pages = 1;
}

如果给定的值不是整数,我认为PHP根本不应该循环,事实上它在第二个循环示例中有效,但在第一个循环示例中无效,这让我很困惑。

在这个循环井之外发生了一些事情,看起来$this->number\u of\u pages不是1。在循环前后尝试相同的打印内存\u get\u peak\u usage()。另一种测试方法是使用硬代码1,而不是$this->number\u of_pages。dump的结果是什么($this->number\u of_pages)?@Muthu17结果为“true”。你发现了什么。您可能想将此作为一个答案发布,以便每个人都能看到。在这个环井之外发生了一些事情,看起来$this->number\u of_pages不是1。在循环前后尝试相同的打印内存\u get\u peak\u usage()。另一种测试方法是使用硬代码1,而不是$this->number\u of_pages。dump的结果是什么($this->number\u of_pages)?@Muthu17结果为“true”。你发现了什么。您可能希望将此作为答案发布,以便每个人都能看到它。