PHP中的常量函数
谁能告诉我这里怎么了?我定义了一个名为“VALUE”的常量,它的值是“STAR”,然后我创建了一个变量PHP中的常量函数,php,Php,谁能告诉我这里怎么了?我定义了一个名为“VALUE”的常量,它的值是“STAR”,然后我创建了一个变量$var=10我在这行中使用了常量函数: $data = constant ('VALUE'. $var); 我决定响应这个节目 echo VALUE10; 我遇到了这样的错误: 守则: <?php define ('VALUE' , 'STAR'); $var = 10; $data = constant ('VALUE'. $var); echo VALUE10; ?>
$var=10代码>我在这行中使用了常量函数:
$data = constant ('VALUE'. $var);
我决定响应这个节目
echo VALUE10;
我遇到了这样的错误:
守则:
<?php
define ('VALUE' , 'STAR');
$var = 10;
$data = constant ('VALUE'. $var);
echo VALUE10;
?>
这里有一些错误。
首先,“常量”函数不用于创建常量,而仅用于获取现有常量的值:
其次,不应该在常量周围使用引号,否则它们将只是字符串
第三,你的逻辑是错误的
我认为你试图这样做:
<?php
define('VALUE', 'STAR');
$var = 10;
define(VALUE . $var, 'some value');
$data = constant(VALUE . $var);
echo $data;
echo STAR10; // same as above
?>
常量函数用于获取已定义常量的值。要定义常数,请使用define函数
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
常量()是不必要的,只需编写常量名称:
define("TEST_CONSTANT", 24, false);
echo TEST_CONSTANT;
如果要检查是否定义了常量,请使用defined()
希望这就是你想要的答案
编辑:
Andre指出,当您不知道常数的确切名称时,常数函数非常有用:
define("TEST_" . $value, "stuff");
echo constant("TEST_" . $value);
谢谢andre。您提供的代码不是触发错误的代码。常量
返回已定义常量的值。它不做任何其他的事情。那么错误的原因是什么呢?我不是被迫这样做的,但这是我正在阅读的书中的一个例子。当你不知道常量的确切名称时,“constant()”函数非常好。定义('MY_CONSTANT.$some_variable,$some_value);常量('MY_constant.$some_variable);
define("TEST_" . $value, "stuff");
echo constant("TEST_" . $value);