【问题标题】:Cannot redeclare function error无法重新声明函数错误
【发布时间】:2013-10-31 03:32:12
【问题描述】:

致命错误:无法重新声明 close()(之前在 E:\wamp1\wamp\www\sample.php:1) 在 E:\wamp1\wamp\www\sample.php 上 第 9 行

function close($tb,$lr) {
        echo '#close {
                '.$tb.':-2.5%;
                '.$lr.':-1.5%;
                position:absolute;
                cursor:pointer; 
        }';
    }
close($close_tb, $close_lr);

当我运行这个脚本时,它说不能在第 9 行重新声明 close()(之前在第 1 行标明)。

即使发生错误,与 $close_tb 和 $closr_lr 关联的值也会传递给 css。 我在这里做错了什么?我只是在第 9 行调用函数。有什么帮助吗?

【问题讨论】:

  • 您能否复制您收到的确切错误代码并将其粘贴到问题中的块引用中?
  • 这里有点不对劲,你有别的东西(这里没有显示)与这个混在一起。按预期工作:codepad.org/ca2Wf20r
  • 并在你的代码中寻找可能的包含,也许你正在另一个 php 脚本中调用另一个 close() 函数。
  • 我们能看到all代码吗? (除了 $close_tb 和 $close_lr 未定义之外,您的代码对我来说很好用。) 第 1 行 真的 第 1 行吗?如果是这样,你的开场时间在哪里<?php?
  • 文件可能包含多次 - 您检查过这种可能性吗?

标签: php


【解决方案1】:

这意味着你已经有一个名为close()的函数。

也许您将同一个文件包含了两次,或者发生了一次奇怪的 copypasta 事故。检查您的代码是否有任何双重功能。

您的脚本仍然按预期工作的事实可能意味着您有两次完全相同的功能。

【讨论】:

    【解决方案2】:

    您的错误代码意味着您定义了函数close 两次。您提供的代码并未说明这一点,但是,您必须多次包含该文件,或者可能重复了您的代码。

    检查您的代码并确保您没有多次包含函数定义。

    【讨论】:

      猜你喜欢
      • 2011-09-12
      • 2010-11-19
      • 2010-11-28
      • 1970-01-01
      • 2011-07-17
      • 1970-01-01
      • 2013-08-07
      相关资源
      最近更新 更多