在定义常量不起作用时使用变量

时间:2014-04-12 04:57:54

标签: php

所以这很奇怪......

我正在尝试为变量内容定义一个常量:

$hello='Hello World';
define('HELLO',$hello);
echo HELLO;//Outputs nothing

$hello='Hello World';
define('HELLO',"Hai There$hello");
echo HELLO;//Hai There

它喜欢剥离所有变量......为什么?有没有办法让它发挥作用?我在define功能部分搜索过php.net,但我似乎找不到任何东西......

1 个答案:

答案 0 :(得分:1)

示例:

[root@mat ~]# php test.php 
Works!
[root@mat ~]# cat test.php 
<?php

$hw = 'Hello World';
define('HW', $hw);

if ( HW == "Hello World" ) {
    echo "Works!\n";
} else {
    echo "Broken!\n";
}


?>

您需要像上面那样测试值或使用constant()函数。

http://us2.php.net/manual/en/function.constant.php

这是使用PHP 5. PHP 4可能表现不同。