2014-05-22 4 views
0

내 컴퓨터에 웹 사이트를 만들었고, 가장 최근의 PHP 버전을 사용하는 XAMPP를 사용했다. 지금, 나는 그냥 등등 DNS, 웹 호스트를 구입, 난 항상 모든 페이지에서 얻을 수있는 유일한 문제는 바로 이것이다 :나는 stdclass [brackets]에 문제가있다. 이유는 말해 줄 수 없다.

Parse error: syntax error, unexpected '[', expecting ',' or ';' in /home/cbifina1/public_html/classes/Credit.php on line 61

을 그리고 이것은 당신이 라인에서 찾을 것입니다 :

$this->_db->results()[$x]->form_id 

다른 페이지에, 저도 같은 문제를 겪고 난

$this->_db->first()->id 
,536,913와

$this->_db->results()[0]->id 

고정

하지만 그 변수를 루프에 사용하면 여기에 붙어 있습니다.

내 괄호를 읽을 수없는 이유는 무엇입니까? 내 PHP 서버가 PHP 버전 5.3.28에 있습니다.이 문제가 될 수 있다고 생각하지 않습니다 ..

어떤 제안이 있습니까? :/

EDITED BELOW 5/22/14 ------------------------------------- ------

는 그래서 내가 여기이 두 기능을 가지고 가정 해 봅시다

public function results() { 
    return $this->_results; 
} 

public function first() { 
    return $this->results()[0]; 
} 
I가 5.4 이하 [0] 내가 사용하고있는 경우 PHP를 제거 할 수있는 방법

?

+0

이 사용 (_db-> 결과() [$ X]) PHP 5.4의 특징은 그래서 내가 편집 한 버전 문제 – engvrdr

답변

2

사실, 해당 구조를 사용하려면 5.4가 필요합니다. The docs;

As of PHP 5.4 it is possible to array dereference the result of a function or method call directly. Before it was only possible using a temporary variable.

편집 : 5.3 용 코드를 변경하는 방법에 대한 귀하의 후속 조치는 대신 임시 변수 및 색인을 사용해야합니다. 그것은 번역을 의미합니다. 에

public function first() { 
    return $this->results()[0]; 
} 

...

public function first() { 
    $tmp = $this->results(); 
    return $tmp[0]; 
} 
+0

입니다 내 문제! –

+0

@matt_bois 업데이트 된 질문에 답변했습니다. –