[php] PHP에서 예상치 못한 T_VARIABLE은 무엇입니까?

이 PHP 오류가 발생합니다.

구문 분석 오류 : 구문 오류, 예상치 못한 T_VARIABLE

이 줄에서 :

$list[$i][$docinfo['attrs']['@groupby']] = $docinfo['attrs']['@count'];

이 라인에 문제가 있습니까?



답변

붙여 넣은 줄 앞에 줄이 누락 된 세미콜론 또는 대괄호가있을 수 있습니다.

나에게는 괜찮아 보인다. 모든 문자열은 배열 인덱스로 허용됩니다.


답변

다른 라인 일 수도 있습니다. PHP가 항상 정확하지는 않습니다.

아마도 이전 줄에 세미콜론이 누락되었을 것입니다.

이 오류를 재현하는 방법은 다음과 같은 파일에 넣습니다 a.php.

<?php
  $a = 5
  $b = 7;        // Error happens here.
  print $b;
?>

실행 :

eric@dev ~ $ php a.php

PHP Parse error:  syntax error, unexpected T_VARIABLE in
/home/el/code/a.php on line 3

설명:

PHP 파서는 프로그램을 일련의 토큰으로 변환합니다. A T_VARIABLE는 VARIABLE 유형의 토큰입니다. 구문 분석기가 토큰을 처리 할 때 토큰을 이해하려고 시도하고 허용되지 않는 변수를 수신하면 오류를 발생시킵니다.

위의 간단한 경우 variable $b에서 파서는 다음을 처리하려고했습니다.

$a = 5 $b = 7;

PHP 구문 분석기는 5 이후 $ b를보고 “예기치 않은”이라고 말합니다.


답변

제 경우에는 PHP 버전의 문제였습니다.

내가 사용한 .phar 파일은 PHP 5.3.9와 호환되지 않았습니다. 인터프리터를 PHP 7로 전환하면 문제가 해결되었습니다.


답변