gpt4 book ai didi

php - php中允许的内存大小为33554432字节耗尽(尝试分配93字节)错误

转载 作者:行者123 更新时间:2023-12-03 19:13:43 24 4
gpt4 key购买 nike

我插入了以下代码:

$counter = 1;
while($_POST['additional_contact1'] != '' || $_POST['additional_contact2'] != '' || $_POST['additional_contact3'] != '') {
if($_POST['additional_contact' . $counter] != '') {
$_SESSION['contact'][$counter]['additional_contact'] = $_POST['additional_contact' . $counter];
$_SESSION['contact'][$counter]['additional_int_prefix'] = $_POST['additional_int_prefix' . $counter];
$_SESSION['contact'][$counter]['additional_prefix'] = $_POST['additional_prefix' . $counter];
$_SESSION['contact'][$counter]['additional_first'] = $_POST['additional_first' . $counter];
$_SESSION['contact'][$counter]['additional_last'] = $_POST['additional_last' . $counter];
} else {
$_SESSION['contact'][$counter]['additional_contact'] = null;
$_SESSION['contact'][$counter]['additional_int_prefix'] = null;
$_SESSION['contact'][$counter]['additional_prefix'] = null;
$_SESSION['contact'][$counter]['additional_first'] = null;
$_SESSION['contact'][$counter]['additional_last'] = null;
}

$counter++;
}

我收到此错误: fatal error :允许的内存大小为 33554432 字节已用尽(尝试分配 93 字节)

我尝试使用 ini_set() 增加内存限制,但它仍然无法在 96M 下工作。我的代码做错了什么使它需要这么多内存?我该如何解决这个问题?

最佳答案

正如其他人所说,您创建了一个无限循环。使用 for loop而是。

for($counter = 1; $counter <= 3; $counter++) {
if($_POST['additional_contact' . $counter] != '') {
$_SESSION['contact'][$counter]['additional_contact'] = $_POST['additional_contact' . $counter];
$_SESSION['contact'][$counter]['additional_int_prefix'] = $_POST['additional_int_prefix' . $counter];
$_SESSION['contact'][$counter]['additional_prefix'] = $_POST['additional_prefix' . $counter];
$_SESSION['contact'][$counter]['additional_first'] = $_POST['additional_first' . $counter];
$_SESSION['contact'][$counter]['additional_last'] = $_POST['additional_last' . $counter];
} else {
$_SESSION['contact'][$counter]['additional_contact'] = null;
$_SESSION['contact'][$counter]['additional_int_prefix'] = null;
$_SESSION['contact'][$counter]['additional_prefix'] = null;
$_SESSION['contact'][$counter]['additional_first'] = null;
$_SESSION['contact'][$counter]['additional_last'] = null;
}
}

想一想:在您的 while 循环中,您测试是否 $_POST['additional_contact1'] != '' 。但是你再也不会改变那个值了。所以一旦它是 != '',while 循环中的条件总是计算为 true

关于php - php中允许的内存大小为33554432字节耗尽(尝试分配93字节)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2461166/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com