2008-10-03 54 views
3

我一行以下形式的得到了意想不到的T_CONCAT_EQUAL錯誤:意外T_CONCAT_EQUAL

$arg1 .= "arg2".$arg3."arg4"; 

我使用PHP5。我可以簡單地去做一下:

$arg1 = $arg1."arg2".$arg3."arg4"; 

但我想知道什麼是錯的首先。有任何想法嗎?

感謝, 斯威尼

回答

6

當$ ARG1未定義就會發生這種情況(不具有價值,從未設置過。)

+0

賓果 - 結果我離開$ arg1的$ off。不知道爲什麼它沒有捕捉到T_VAR,但足夠接近。謝啦。 – 2008-10-03 22:36:01

0

聽起來像是你忘了上面這一條線一個分號。

1

所以最準確的原因是,上面的代碼貼線:

$arg1 .= "arg2".$arg3."arg4"; 

實際上是在我的源代碼如下:

arg1 .= "arg2".$arg3."arg4"; 

的$從ARG1缺失。我不知道爲什麼解釋者沒有先接受,但不管。感謝Jeremy和Bailey的投入 - 它讓我正確地面對這個問題。

+0

當解釋器遇到類似'arg1'的內容而沒有引號或任何內容時,首先檢查它是否爲定義的常量,如果不是,則將其解釋爲字符串'arg1'。所以你得到了錯誤,因爲它不能給一個常量字符串賦值。 – 2008-10-03 22:51:20