使用[]时出现PHP解析错误
代码是使用[]时出现PHP解析错误,php,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解析错误:语法错误,第69行/v
// 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解析错误:语法错误,第69行/var/www/blockexplorer.com/htdocs/includes/sql.inc中出现意外的“[”
我认为有一个配置可以修复它。将函数的结果放入变量中
static function singleton($arg, $params = false) {
$foo = pg_fetch_row(SQL($arg, $params));
return $foo[0];
}
将函数的结果放入变量中
static function singleton($arg, $params = false) {
$foo = pg_fetch_row(SQL($arg, $params));
return $foo[0];
}
这取决于您使用的PHP版本。如果您使用的是PHP5.4或更高版本,那么您的代码不会给出错误,否则您将不得不将结果存储在变量中并使用它 参考:
请在此处查找“数组解引用”。这取决于您使用的PHP版本。如果您使用的是PHP 5.4或更高版本,则代码不会给出错误,否则您必须将结果存储在变量中并使用它 参考:
请在此处查找“数组解引用”。PHP不支持匿名数组。请改用命名数组:
static function singleton($arg, $params = false) {
$row=pg_fetch_row(SQL($arg, $params));
return $row[0];
}
PHP不支持匿名数组。请改用命名数组:
static function singleton($arg, $params = false) {
$row=pg_fetch_row(SQL($arg, $params));
return $row[0];
}
您使用的PHP的版本是什么?它看起来像PHP5.3,不支持这一点。因此,您需要首先将函数pg_fetch_row的结果放入变量中,正如@Mario Jonathan所调用的那样。您的语法是正确的,但这是PHP的一个非常新的功能,即(IIRC)至少需要5.4版。我在更改日志中找不到它,但它更好(目前)除非是为特定平台开发,否则这是行不通的。您使用的PHP版本是什么?它似乎是PHP5.3,不支持这一点。因此,您需要首先将函数pg_fetch_row的结果放入变量中,正如@Mario Jonathan所说的。您的语法是正确的,但这是PHP的一个非常新的特性,即(IIRC)至少需要5.4版。我在更改日志中找不到它,但最好(目前)指望它不起作用,除非您为特定平台开发。PHP支持数组解引用,但仅在5.4+中支持。PHP支持数组解引用,但仅在5.4+中支持。