所以我有这个用户定义的函数:
function ackermann($n, $m)
{
if ($n == 0)
{
return 1 + $m;
}
if ($m == 0)
{
return ackermann($n - 1, 1);
}
return ackermann($n - 1, ackermann($n, $m - 1));
}
echo ackermann(3, 3);
这应返回值61,但它会返回此致命错误:
致命错误:允许的内存大小为134217728字节耗尽(尝试过 在C:\ xampp \ htdocs \ PhpProject1 \ index.php中分配262144个字节) 第316行
这只是我们负责用PHP编写代码的一组程序的一部分,因为我正在学习PHP的入门课程。究竟是什么问题?
答案 0 :(得分:0)
那是因为PHP无法在分配给它的内存中完成请求。
解决方案是在memory_limit
中增加php.ini
。
默认情况下应为128M
,将其更改为512或1024;
memory_limit = 512M;
如果它仍然耗尽,请尝试分析您的代码并检查它是否未在循环中执行。
答案 1 :(得分:0)
这是因为:
var platform_1 = require("platform");
function tabviewLoaded(args) {
var tabview = args.object;
if (platform_1.isAndroid) {
var tabViewgrid = tabview._grid;
console.dump(tabViewgrid.removeViewAt(0));
}
if (platform_1.isIOS) {
tabview._ios.tabBar.hidden = true;
}
}
exports.tabviewLoaded = tabviewLoaded;
你试图在ackermann函数中调用ackermann函数,它试图调用ackerman函数,它调用ackerman函数...
那时它不会工作。
你想达到什么目的?