使用[]时PHP解析错误

时间:2014-02-19 06:21:25

标签: php

代码是

// Get singleton (first value from row with single value)
static function singleton($arg, $params = false) {
    return pg_fetch_row(SQL($arg, $params))[0];
}

错误消息是

  

2014-02-19 12:54:23:(mod_fastcgi.c.2701)FastCGI-stderr:PHP消息:PHP解析错误:语法错误,意外'['in /var/www/blockexplorer.com/htdocs /includes/sql.inc在第69行

我认为有一个配置可以修复它。

3 个答案:

答案 0 :(得分:4)

这取决于您使用的PHP版本。如果您使用的是PHP 5.4或更高版本,那么您的代码将不会出错,否则您必须将结果存储在变量中并使用它。

参考:PHP 5.4

在这里寻找“阵列解除引用”。

答案 1 :(得分:2)

将函数的结果放在变量

static function singleton($arg, $params = false) {
    $foo = pg_fetch_row(SQL($arg, $params));
    return $foo[0];
}

答案 2 :(得分:0)

PHP不支持匿名数组。改为使用命名数组:

static function singleton($arg, $params = false) {
    $row=pg_fetch_row(SQL($arg, $params));
    return $row[0];
}