我在我的电脑上建立了一个网站,使用XAMPP和最新的php版本,到目前为止一切看起来都很好。现在,我刚买了一个DNS,网络主机等,我在每一页上总能遇到的唯一问题就是:
解析错误:语法错误,意外'[',期待','或';'在第61行的/home/cbifina1/public_html/classes/Credit.php
这就是你在那条线上发现的:
$this->_db->results()[$x]->form_id
在另一页中,我遇到了同样的问题,我修复了
$this->_db->results()[0]->id
与
$this->_db->first()->id
但是在循环中使用了该变量,我被困在这里。
那为什么我的括号不可读?我的php服务器是php版本5.3.28 ..我不认为这可能是问题..
有什么建议吗? :/
以下编辑5/22/14 ---------------------------------------- ---
所以,假设我在这里有这两个功能
public function results() {
return $this->_results;
}
public function first() {
return $this->results()[0];
}
如果我使用的是低于5.4的PHP,我怎么能摆脱[0]?
答案 0 :(得分:2)
实际上,你需要5.4来使用那个结构。 The docs说;
从PHP 5.4开始,可以直接对函数或方法调用的结果进行数组取消引用。之前只能使用临时变量。
编辑:关于如何更改5.3代码的后续操作需要使用临时变量和索引。这意味着翻译;
public function first() {
return $this->results()[0];
}
...到...
public function first() {
$tmp = $this->results();
return $tmp[0];
}