【问题标题】:PHP Parse error: syntax error, unexpected T_CONCAT_EQUAL [closed]PHP解析错误:语法错误,意外的T_CONCAT_EQUAL [关闭]
【发布时间】:2010-09-14 19:38:57
【问题描述】:
$XMLFormatedString .= "<Filter id='" .= .$row->id. .="' name='" .= .$row->label. .="'><Label>" .= .$row->label. .="</Label></Filter>";

【问题讨论】:

  • -1,你的问题在哪里? T_CONCAT_EQUAL 表示 '.=',你知道吗?
  • 这个问题对我来说很有意义,+1
  • @Adam : 没有“你好”,没有句子,没有问号......这对我来说也很有意义,但我觉得它很粗鲁。

标签: php string concatenation


【解决方案1】:

您不能像那样链接 .= 运算符。在这种情况下也不是必需的,您可以使用 .第一个之后的运算符:

$XMLFormatedString .= "<Filter id='" .$row->id. "' name='" .$row->label."'><Label>" .$row->label."</Label></Filter>";

此外,无论您尝试做什么,这看起来都是个坏主意。你应该使用PHP DOMDocument 之类的东西来编写XML。

【讨论】:

  • +1。特别是对于 DomDocument 位......但仅供参考:您通常可以链接 .= 运算符。 $f = 'f'; $o = 'o'; $f .= $o .= 'obar'; 将以 $f == 'foobar'$o == 'oobar' 结尾。但是您不能在.= 左侧的任何地方都有静态字符串(非变量)...
【解决方案2】:

.= 这样的assignment operator 的左侧需要是一个变量。但在这种情况下,"&lt;Filter id='" 不是变量。

我猜你的意思是普通的string concatenation operator .

$XMLFormatedString .= "<Filter id='" . $row->id . "' name='" . $row->label . "'><Label>" . $row->label . "</Label></Filter>";

【讨论】:

    【解决方案3】:

    您有多个语法错误:

     .= "<Filter id='" .= .$row->id.
    

    应该是:

     .= "<Filter id='".$row->id.
    

    等等……

    【讨论】:

      猜你喜欢
      • 2013-10-02
      • 1970-01-01
      • 2012-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-02
      • 2011-10-26
      • 2014-09-02
      相关资源
      最近更新 更多