3

可能重复:
php中函数返回的访问数组

编码:

$cnt = mysql_fetch_row(mysql_query("SELECT FOUND_ROWS()"))[0]

给出错误:

解析错误:语法错误,第 117 行的 index.php 中出现意外的“[”

同样适用于:

$cnt = (mysql_fetch_row(mysql_query("SELECT FOUND_ROWS()")))[0]

这段代码:

$cnt = mysql_fetch_row(mysql_query("SELECT FOUND_ROWS()"));
$cnt = $cnt[0];

工作正常。

这里发生了什么?

4

1 回答 1

4

这不仅仅是mysql_query--rather 的问题,它是 PHP <5.4 处理括号符号的方式的一种特殊性。以下也将失败

function get_array() {
  return array('foo', 'bar');
}

echo get_array()[0];

但是,正如您所观察到的,在尝试检索元素之前设置结果可以正常工作

$arr = get_array();
echo $arr[0];
于 2012-05-13T00:45:01.833 回答