其實,這是一個非常容易解決掉的問題。在我看來,似曾相識,呵呵,最近學JavaScript可是學會了使用var聲明變量。
其實,在PHP中根本不需要使用var聲明的,但是當一個變量作為一個類的成員變量的時候,使用var還是沒有問題的。
在外部使用var就報錯Parse error: syntax error, unexpected T_VAR in...,例如我的出錯信息:
Parse error: syntax error, unexpected T_VAR in D:\Apache2.2\htdocs\shirdrn\page\p2\pageUtil.inc on line 34
我在測試:在一個類的內部,使用一個自己定義的類對象作為這個類的成員時,出錯了。
Address類對應的address.inc代碼:
復制代碼 代碼如下:
<?php
class Address {
var $road;
function Address(){}
function setRoad($road){
$this->road = $road;
}
}
?>
Person類及其測試代碼為person.php如下:
復制代碼 代碼如下:
<?php
require("address.inc");
class Person {
var $name;
var $address;
function Person(){
}
function display(){
echo "Name : ".$this->name."<BR>";
echo "Road : ".$this->address->road."<BR>";
}
}
var $p = new Person();
$p->address = new Address();
$p->address->setRoad("Chagnchun Road");
$p->name = "Shirdrn";
$p->display();
?>
測試輸出現異常:
Parse error: syntax error, unexpected T_VAR in D:\Apache2.2\htdocs\shirdrn\page\p2\pageUtil.inc on line 34
就是因為在person.php代碼中使用var聲明變量,PHP中是不能這樣的,只要使用“$”符號起始就表示這個字符後面的是一個PHP變量。
呵呵:-)
其它網友的補充方法:
問題解決:syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or 前兩天開始自己php之旅,做一個很普通的網站,結果我們的php是5.0版本,服務器是4.0版本,納悶死咯。 昨天忙了一天,今天早上一來,在一篇文章發現了,解決方法。Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' ,如果有“public”,就將“public”去掉。就不會出錯,如果“public” 是定義變量的話,將“public” 改為“var”。