PHP 中冒号的奇怪情况

问题描述 投票:0回答:1

PHP 中的冒号有多种用途,但是,我已经偏离了这个用途,因为我不知道它适合哪个桶。

代码:

<?php
class ABC {
    static function xyz() {
        echo "I don't like the alphabet";
    }
}
ABC:xyz();

// tucked away in a strange file
function xyz() {
    echo "xyz\n";
}

现在显然代码缺少额外的

:
,但奇怪的是它的工作原理就好像没有任何问题一样。 你认为输出会是什么?
Parse Error
?对字母表的不友善评论?
Undefined Constant
Partial Paamayim Nekudotayim
?(好吧!不是真的;给经验丰富的 PHP 专家开个玩笑)

但是实际输出是...

xyz

!亲自看看:https://onlinephp.io/c/e88355

有人知道为什么会发生这种情况吗?我能找到的唯一线索是它在 5.2 版本上崩溃了。

现在显然我可以添加

:
并完成它,但我真的很想理解为什么会发生这种情况,因为它提出了一个非常奇怪的错误。那么也许有一个解决方案可以防止此类愚蠢的事情再次发生。

php operators symbols
1个回答
0
投票

冒号还用于可以作为

goto
的目标的语句标签。

ABC:xyz();

echo 'foo';
goto ABC;
© www.soinside.com 2019 - 2024. All rights reserved.