为什么这个PHP代码有效?

时间:2013-03-28 21:28:56

标签: php

php中的“_”是什么,以及为什么它没有定义时是一个有效的函数。     

# code will pass that check. and it will print "_"
if(function_exists("_"))
{
    print f('_');
}

当我尝试打印时(它有效但给我通知)

print _;

php给我通知。

Notice: Use of undefined constant _ - assumed '_'

所以我使用常数函数并试图获得他的价值,

print constant("_");

但我得到的是

Warning: constant() [function.constant]: Couldn't find constant _ in

我在这里做错了什么?

2 个答案:

答案 0 :(得分:4)

_函数是翻译函数gettext的快捷方式。 http://php.net/_

print _;打印常量_,而print _();会显示_函数的输出(错误,在没有参数的情况下调用)。

答案 1 :(得分:3)

因为_()是一个有效的函数,

用于本地化。

当您只是打印_时,您正在尝试打印常量,添加括号()会使其成为函数调用。

你的function_exists支票应该告诉你了!

http://www.php.net/_