常量数组的PHP错误

常量数组的PHP错误,php,arrays,syntax-error,Php,Arrays,Syntax Error,您好,在我的PHP文件中,我在主机上找到了定义常量数组的这一行的错误: const telegram_methods=['sendMessage'=>'sendMessage','answerCallbackQuery'=>'answerCallbackQuery','forwardMessage'=>'forwardMessage']; 在主机配置中进行一些更改之后。错误是: Parse error: syntax error, unexpected '[' in /...

您好,在我的PHP文件中,我在主机上找到了定义常量数组的这一行的错误:

const telegram_methods=['sendMessage'=>'sendMessage','answerCallbackQuery'=>'answerCallbackQuery','forwardMessage'=>'forwardMessage'];
在主机配置中进行一些更改之后。错误是:

Parse error: syntax error, unexpected '[' in /........./st_datas.php on line 8 
这条生产线或主机配置有什么问题? 这篇文章:
这是一个非常一般的问题,与我的问题不一样。

可能适用于您的php版本。如果您的php版本>=5.4,则可以使用括号来定义数组

所以试试看:

const telegram_methods = array('sendMessage'=>'sendMessage','answerCallbackQuery'=>'answerCallbackQuery','forwardMessage'=>'forwardMessage');

也许是你的php版本。如果您的php版本>=5.4,则可以使用括号来定义数组

所以试试看:

const telegram_methods = array('sendMessage'=>'sendMessage','answerCallbackQuery'=>'answerCallbackQuery','forwardMessage'=>'forwardMessage');

关于您的后续问题,类常量中不允许使用数组,它的意思很简单

PHP7对此进行了更新,但在此之前,如果需要将类变量设置为数组,只需删除常量即可

查看此处的评论以获得更详细的回复


关于您的后续问题,类常量中不允许使用数组,它的意思很简单

PHP7对此进行了更新,但在此之前,如果需要将类变量设置为数组,只需删除常量即可

查看此处的评论以获得更详细的回复


常量不能是数组,但如果在类中,则可以是静态字段。将其设为静态常量仅用于单值引用OK。谢谢Nigel Ren和Exprator。但我使用这种方法之前没有任何问题,因为常量不能是数组,但如果在类中,它可以是一个静态字段。将其设为静态常量仅用于单值引用OK。谢谢Nigel Ren和Exprator。但是我以前用这种方法没有问题谢谢。现在出现这个错误:第9行的..../st_data.php中的类常量中不允许数组。不幸的是,需要php>=5.6才能将数组定义为类常量!谢谢@Mohammad Hamedani。我的主机管理员在没有通知我的情况下将php版本从5.6更改为5.3,非常感谢。现在出现这个错误:第9行的..../st_data.php中的类常量中不允许数组。不幸的是,需要php>=5.6才能将数组定义为类常量!谢谢@Mohammad Hamedani。我的主机管理员在没有通知我的情况下将php版本从5.6更改为5.3,这是一个问题