2011-08-03 4 views
2
var $foo = array('foo' => $bar); 

예기치 않은 T_VARIABLE 오류가 발생합니다. 배열을 만들 때 변수를 사용할 수 없습니까?이 PHP 라인에 문제가 있습니까?

이 선언은 클래스 내에, 그리고 VAR를 제거 할 때 내가 PHP의 v5.3.2에게

를 실행하고, 내가 다른 오류를 Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION

감사를 얻을

+0

이 선언은 클래스 내에 ... – AlexBrand

+0

HTTP : //www.php.net/manual/en/language.variables.basics.php – Timur

답변

6

var는 PHP 구문 아니지만 ... 단순

$foo = array('foo' => $bar); 

이면 충분합니다.

+0

var 제거한 후 다른 오류가 발생합니다 ... 편집보기 – AlexBrand

+0

@alex : 클래스에서 '동적 인'변수를 선언 할 수 없습니다. 그들은 상수를 평가해야합니다. '$ var = array ('a'=> 'b')'는 괜찮을 것입니다. 왜냐하면 그것은 모두 상수이기 때문입니다. 거기에 '$ bar'가 있는데, 이는 상수가 아니기 때문에 오류가 발생합니다. 객체에 변수를 동적으로 할당해야하는 경우에는 생성자에서 변수를 사용해야합니다. –

+0

변수가 배열 바로 위에 선언 된 경우에도 ?? – AlexBrand

1

키워드 var은 클래스에서 변수 (예 : 인스턴스 변수)를 선언 할 때만 사용되지만 PHP4 구문이며 현재 사용되지 않습니다. 이것은 당신이 원하는 것을 할 것입니다 :

$foo = array('foo' => $bar); 
+0

이것은 클래스 내부에 있습니다 ... – AlexBrand

+0

PHP에는 'var'키워드가 없습니다. 변수에는 전역/보호/개인/공용 접두사가 있지만 'var'는 없습니다. –

+1

충분히 최신 버전의 PHP를 사용 중이라면 실제로 완전히 사용되지 않을 것입니다. PHP 5.4에서 (정확히 기억한다면)'var'을 사용하지 마십시오. –