如何动态构建<<

时间:2014-09-04 23:31:07

标签: php

我想根据数据库的结果动态构建我的字符串。到目前为止,我已经创建了这样的东西:

        $feed = Some essential xml that needs to go here;
        for ($a = 0; $a < count($images); $a++)
        {
            if ($a == 0)
            {
                $image_type = "Main";
            }
            else
            {
                $image_type = "PT". $a;
            }
            $feed += <<<EOD
  <Message>
    <MessageID>1</MessageID>
    <OperationType>Update</OperationType>
    <ProductImage>
        <SKU>{$data['sku']}</SKU>
        <ImageType>{$image_type}</ImageType>
        <ImageLocation>{$images[$a]}</ImageLocation>
    </ProductImage>
  </Message>
EOD;

        }

        $feed += <<<EOD
</AmazonEnvelope>        
EOD;
echo $feed; 

这个例子当然不会返回任何内容,但是我希望以我希望它工作的方式呈现我的代码。在这种情况下,我会动态构建$ feed字符串吗?

1 个答案:

答案 0 :(得分:3)

在PHP中,字符串连接是使用.运算符完成的,而不是+。因此,连接和分配也是.=,而不是+=。修复两个相关的行,它可以正常工作。

这里不同运营商的根本原因是,与大多数其他流行语言不同,PHP是弱类型的。 +运算符保留用于数学运算,因此PHP可以正确地处理这两条不同的行&#39;:

echo '123'+'123';    // Shows 246
echo '123'.'123';    // Shows 123123

Example