我正在本地编写应用程序,但是当我迁移到服务器时,我使用此行得到了解析错误:
if(!is_array($data[array_keys($data)[0]]))
返回:
解析错误:语法错误,意外'[',期待']' /home/file.php
如果我改写这样的行:
$var1 = array_keys($data);
if(!is_array($data[$varX[0]]))
有效。
我需要在服务器上激活什么才能让它在第一个示例中正常工作而不会出现错误?
感谢。
答案 0 :(得分:2)
您需要运行PHP 5.4版才能使用这样的数组解除引用。我怀疑你的服务器上的PHP版本低于你本地系统的版本。
http://php.net/manual/en/migration54.new-features.php
在“新功能”下:
添加了函数数组解除引用,例如FOO()[0]。
答案 1 :(得分:0)
您尝试做的事情被称为“数组解除引用”,它只能在PHP 5.4中使用。因此,如果您的PHP版本比您的版本早,那么它将不起作用。