Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
常量PHP解析错误_Php - Fatal编程技术网

常量PHP解析错误

常量PHP解析错误,php,Php,为什么出错?检查此站点: 常量定义必须在一个类的范围内。类常量必须是固定值。不是某种功能的结果。只有由define设置的全局常量才能包含函数的结果 全局常数: 类常量: 全局常数的示例: // define('DOCROOT', realpath(dirname(__DIR__))); // good const DOCROOT = realpath(dirname(__DIR__)); // PHP Parse error: syntax error, unexpected '(', ex

为什么出错?

检查此站点:


常量定义必须在一个类的范围内。

类常量必须是固定值。不是某种功能的结果。只有由define设置的全局常量才能包含函数的结果

全局常数:

类常量:

全局常数的示例:

// define('DOCROOT', realpath(dirname(__DIR__)));
// good

const DOCROOT = realpath(dirname(__DIR__));
// PHP Parse error:  syntax error, unexpected '(', expecting ',' or ';' in
define("FOO",     "something");
echo FOO;
类常量的示例:

// define('DOCROOT', realpath(dirname(__DIR__)));
// good

const DOCROOT = realpath(dirname(__DIR__));
// PHP Parse error:  syntax error, unexpected '(', expecting ',' or ';' in
define("FOO",     "something");
echo FOO;

在PHP中,常数可以通过两种方式定义

使用const关键字

您不能以这种方式将函数的结果,甚至变量赋值给常量。以这种方式定义的常量的值必须是固定值,如整数或字符串

使用

通过这种方式,您可以将任何值、变量或任何函数的结果赋给常量

重要提示:定义类定义之外的工作

例子
有全局常量和类常量。两件不同的事情。你应该检查手册:你得到了一个错误,因为这不是你在PHP类之外定义常量的方式。另请看这里:这是完全错误的。您可以将常数定义为所需的任何值。否。只有当它是在编译时固定的静态值时才可以。没错,此规则仅适用于类cnstants,而不适用于全局类。测试和确认。我更新了我的答案。