Weiter Schwerwiegender Fehler: Die Funktion Demo2\test kann nicht deklariert werden, da der Name bereits in verwendet wird
王先生
王先生 2019-10-18 16:53:44
0
13
1511

Der gleiche Code wie beim Lehrer, Fehler:

Schwerwiegender Fehler: Die Funktion Demo2test kann nicht deklariert werden, da der Name bereits in E:wwwrootphpbaseobjectnamespacetest2.php in Zeile 5 verwendet wird.

Test1-Code:

Namespace Demo1 ;

function test($a,$b)

{

return $a*$b;

}

?>

test2 code:

namespace Demo2;

require ('test1.php');

use function Demo1test;

function test($a,$b)

{

return $a+$b;

}

echo test(4,5) ; // Unqualifizierter Namespace

echo "


";

echo test(4,5);

?>


王先生
王先生

Antworte allen (10)
王先生

你很好学,大兄弟!

    老老宋

    那就不知道了

      老老宋

      Screenshot_6.png最终结果是 9

        老老宋

        ssss.pngtest2.php 文件

          老老宋

          666666.pngtest1.php 文件

          • Antwort 其实把调用的位置调整之下也是可以解决的(哪里调用就放在那个前面,不要把所有引入的都放一起)。也有其他解决方案,我只是好奇一样的操作,一样的代码,老师的可以,我的不行
            王先生 Autor 2019-10-18 18:53:21
          老老宋

          test1.php 和 test2.php 是放在不同的 Demo1 和 Demo2 文件夹中

          • Antwort 我是放在两个文件中的
            王先生 Autor 2019-10-18 18:50:01
          老老宋

          use function Demo1\test; 这一行去掉 就可以了

          • Antwort 要的就是通过命名空间导入函数,去掉还有啥意义
            王先生 Autor 2019-10-18 18:30:33
          王先生

          老师代码就是解决这种重名的,他演示没有错,我们用一样的代码就有错

            老老宋

            test2 本身有一个 test方法 然后你引入的 test1 也有一个 test 方法

            在同一个.php 存在相同方法 会你上边的报错

            http://php.wyscdz.com

              王先生

              上面的错误是 php 版本是7.0.12

              如果切换回 5.6.27 就报如下的错:

              Fatal error: Call to undefined function Demo1\test()

                Neueste Downloads
                Mehr>
                Web-Effekte
                Quellcode der Website
                Website-Materialien
                Frontend-Vorlage
                Über uns Haftungsausschluss Sitemap
                Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!