2013-07-20 3 views
2

에 동의 나는 로컬 응용 프로그램을 프로그래밍하고,하지만 난 서버로 마이그레이션 할 때 나는이 줄을 사용하여 구문 분석 오류 :이 같은 라인을 다시 작성하는 경우PHP로 정품 인증을 받아야합니까? [

Parse error: syntax error, unexpected '[', expecting ']' in /home/file.php

:

if(!is_array($data[array_keys($data)[0]])) 

반환 :

$var1 = array_keys($data); 
if(!is_array($data[$varX[0]])) 

작동합니다.

오류없이 첫 번째 예에서 서버를 활성화하려면 무엇을 활성화해야합니까?

감사합니다.

+0

두 번째 예제가 문제없이 작동하고 더 읽기 쉽다면 .. 이전 오류의 추론은 문제가되지 않아야합니다. 이제 코드가 작동하기 때문에 –

답변

2

이와 같은 배열 역 참조를 사용하려면 PHP 버전 5.4를 실행해야합니다. 귀하의 서버에서 로컬 시스템보다 PHP의 버전이 낮다고 판단됩니다.

http://php.net/manual/en/migration54.new-features.php

에서 '새로운 기능': 당신은 PHP 5.4에서 사용할 수가 된 "배열이 역 참조"라고 뭘 하려는지

Function array dereferencing has been added, e.g. foo()[0].

0

. 따라서 귀하의 PHP 버전이 귀하의 PHP보다 이전 버전 일 경우 작동하지 않습니다.

관련 문제