// define('DOCROOT', realpath(dirname(__DIR__)));
// good
const DOCROOT = realpath(dirname(__DIR__));
// PHP Parse error: syntax error, unexpected '(', expecting ',' or ';' in
Run Code Online (Sandbox Code Playgroud)
为什么会出错?
在 PHP 中可以通过两种方式定义常量,
使用const
关键字
您不能以这种方式将function的结果甚至变量分配给常量。常量的值(以这种方式定义)必须是一个固定值,如整数或字符串。
使用定义()
通过这种方式,您可以将任何值或变量或任何函数的结果分配给您的常量。
重要说明: define()
在类定义之外工作。
$var = "String";
const CONSTANT = $string; //wrong
const CONSTANT = substr($var,2); //wrong
const CONSTANT = "A custom variable"; //correct
const CONSTANT = 2547; //correct
define("CONSTANT", "A custom variable"); //correct
define("CONSTANT", 2547); //correct
define("CONSTANT", $var); //correct
define("CONSTANT", str_replace("S","P", $var)); //correct
class Constants
{
define('MIN_VALUE', '0.0'); //wrong - Works OUTSIDE of a class definition.
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2695 次 |
最近记录: |