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”。你发现了什么。您可能希望将此作为答案发布,以便每个人都能看到它。