代码:
$cnt = mysql_fetch_row(mysql_query("SELECT FOUND_ROWS()"))[0]
给出错误:
解析错误:语法错误,意外'['in 第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];
工作正常。
这里发生了什么?
答案 0 :(得分:4)
这不仅仅是mysql_query
的问题 - 相反,它是PHP< 5.4处理括号表示法的特殊情况。以下will fail也是:
function get_array() {
return array('foo', 'bar');
}
echo get_array()[0];
但是,正如您所观察到的那样,在尝试检索元素works fine之前设置结果:
$arr = get_array();
echo $arr[0];