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、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 に答える