可能的重复项:
由 php 中的函数返回的访问数组
代码:
$cnt = mysql_fetch_row(mysql_query("SELECT FOUND_ROWS()"))[0]
给出错误:
解析错误:语法错误,意外的"[" 索引.php 在第 117 行
相同:
$cnt = (mysql_fetch_row(mysql_query("SELECT FOUND_ROWS()")))[0]
此代码:
$cnt = mysql_fetch_row(mysql_query("SELECT FOUND_ROWS()"));
$cnt = $cnt[0];
工作正常。
这是怎么回事?
这不仅仅是mysql_query
的问题 - 相反,它是PHP <5.4处理括号符号的方式的特殊性。以下内容也将失败:
function get_array() {
return array('foo', 'bar');
}
echo get_array()[0];
但是,正如您所观察到的,在尝试检索元素之前设置结果可以正常工作:
$arr = get_array();
echo $arr[0];