当前位置: 首页 > 知识库问答 >
问题:

致命错误:无法重新声明以前声明的函数()

乔凯康
2023-03-14

我知道有很多问题与类似的问题,但我一直在寻找答案,仍然无法找到我的问题。我已经尝试了几种方法来解决这个问题,但我找不到任何解决方案。。。

我代码的一部分:(我不会在其他任何地方使用这个函数)

function Validar($r)
{
$Msg = '';
$aError = array();
if (strlen($Msg) > 0) {
    $aError[] = array('success' => false);
    $aError[] = array('msg' => '1001');
    $aError[] = array('error' => $Msg);;
}

我得到以下信息:

致命错误:无法在第20行的C:\wamp64\www\myProject-dev\Public\cajas\reposiciones\controller3.php:20中重新声明Validar()(先前在C:\wamp64\www\myProject-dev\Public\cajas\reposiciones\controller3.php中声明)

所以我补充说

if(function_exists("Validar")){
echo "The function already exists.";
} else {
 function Validar($r){
   $Msg = '';
   $aError = array();
   if (strlen($Msg) > 0) {
    $aError[] = array('success' => false);
    $aError[] = array('msg' => '1001');
    $aError[] = array('error' => $Msg);;
  }

所以我几乎不知道发生了什么,我的信息有256行

该函数已存在。

然后

致命错误:未捕获错误:达到256的最大函数嵌套级别,中止!在C:\wamp64\www\myProject-dev\Public\lib\DataSourceResult.php第39行

错误:已达到最大函数嵌套级别“256”,正在中止!在C:\wamp64\www\myProject dev\public\lib\DataSourceResult中。php第39行

还有一张这样的桌子:(对不起,我不知道怎么做)

<table><tbody><tr><th>#</th><th>Time</th><th>Memory</th><th>Function</th><th>Location</th></tr><tr><td>1</td><td>0.0017</td><td>371568</td><td>{main}( )</td><td>...\controller3.php:0</td></tr><tr><td>2</td><td>0.0053</td><td>474480</td><td>include( 'C:\wamp64\www\myProject-dev\public\cajas\reposiciones\controller3.php' )</td><td>...\controller3.php:36</td></tr><tr><td>3</td><td>0.0091</td><td>476240</td><td>include( 'C:\wamp64\www\myProject-dev\public\cajas\reposiciones\controller3.php' )</td><td>...\controller3.php:36</td></tr></tbody></table>
<br><br><br>
And this repeats 256 times.

这是什么意思,我该如何修复它?也许你可以给我一点指导或建议,我有点新。

提前谢谢。

共有1个答案

公良光熙
2023-03-14

如果有人有我同样的问题,@Don'tPanic的答案就是问题的解决方案。出现问题的代码部分是

if (file_exists("controller3.php")) include "controller3.php";

在我的验证功能之后,删除/评论它,是解决方案,它完全按照预期工作;没有循环,没有错误。

 类似资料:
  • 问题内容: 我有一个函数(从文件顶部开始,这就是它的外观): 由于某种原因,我不断收到错误消息: 致命错误:无法在/Applications/MAMP/htdocs/question- air/includes/functions.php中重新声明generate_salt()(先前在/Applications/MAMP/htdocs/question- air/includes/function

  • 问题内容: 有谁知道会导致这个问题的原因吗? PHP致命错误:无法重新声明类 问题答案: 这意味着您已经创建了一个类。 例如: 第二个Foo会抛出错误。

  • 致命错误:无法在第9行的E:\wamp1\wamp\www\sample.php中重新声明关闭()(先前在E:\wamp1\wamp\www\sample.php: 1中声明) 当我运行这个脚本时,它说不能在第9行中重新声明近()(以前在第1行中被标记)。 即使出现错误,与和相关的值也会传递给css。我在这里做错了什么?我正在调用第9行中的函数。有什么帮助吗?

  • 我在App\Helpers.php中有一个自定义函数。在刀片文件中使用if语句中的函数时。我在拉拉贡错误日志中看到错误。 然而,事情正如预期的那样。但为什么会出现此错误?我如何修复它? #更新 这是我在Helpers.php的职能 这是控制器中的if语句。

  • 当我运行来检查我的事件时 致命错误:无法在C:\xampp\htdocs\myshop\app\Http\helpers.php行92中重新声明视图()(先前在C:\xampp\htdocs\myshop\供应商\laravel\框架\src\Illumate\Foundation\helpers.php:850中声明)PHP致命错误:无法重新声明视图()(先前声明在C:\xampp\htdocs

  • 问题内容: 我有一个名为parseDate的函数,但是当我在我的php页面(它是一个joomla组件页面)上调用它时,出现致命错误:无法重新声明parsedate()(先前在template / ja_zeolite / assets / functions.php:2中声明)第21行的templates / ja_zeolite / assets / functions.php 第2行是函数pa