解析错误意外t_constant_encapsed_string php

时间:2014-02-21 17:47:26

标签: php html

我有一个for循环来遍历我从Web服务获取的数组,这些数组是图像的路径,我想要插入到数组中的标签和打印。问题是我收到了被包装的字符串错误,我无法看到我应该在哪里纠正我的代码。

这是php代码:

if(count($curl_odgovor_decoded) > 0)
        {
            $format ='';

            for ($i=1; $i < count($curl_odgovor_decoded); $i++) { 
                if($curl_odgovor_decoded[0]['slika'.$i] != null)
                {
                    $format.='<div class="col-sm-3 col-xs-6">
                    <a href="'.$curl_odgovor_decoded[0]['slika'.$i].'" title="slika'.$i'" data-gallery="#blueimp-gallery">
                    <img class="img-responsive img-customer" src="">
                    </a></div>';
                    echo $format;
                }

            }
        }
        else
        {
            $format = ' <div class="col-sm-3 col-xs-6">
            <p>Za ovaj oglas jos uvek nisu postavljene fotografije smestaja</p>
            </div>';

            echo $format;
        }

解析错误位于for循环中,格式字符串的末尾,a和div标签关闭的部分。

另外,如果这是生成html内容的不良做法,请告诉我并建议另一种解决方案:)

编辑:

我已经纠正了代码,但是它有效,但for循环不能正常工作。它总是打印出一个具有正确图像的div,并且应该打印出其中的4个。当我在不使用循环的情况下自己回放4次格式时,每件事都很好。

如果我这样做,它可以正常工作(但这只是不好的做法):

echo '<div class="col-sm-3 col-xs-6">
        <a href="'.$curl_odgovor_decoded[0]['slika1'].'" title="slika1" >
        <img class="img-responsive img-customer" src="'.$curl_odgovor_decoded[0]['slika1'].'">
        </a></div>';
        echo '<div class="col-sm-3 col-xs-6">
        <a href="'.$curl_odgovor_decoded[0]['slika2'].'" title="slika2" >
        <img class="img-responsive img-customer" src="'.$curl_odgovor_decoded[0]['slika2'].'">
        </a></div>';    
        echo '<div class="col-sm-3 col-xs-6">
        <a href="'.$curl_odgovor_decoded[0]['slika3'].'" title="slika3" >
        <img class="img-responsive img-customer" src="'.$curl_odgovor_decoded[0]['slika3'].'">
        </a></div>';
        echo '<div class="col-sm-3 col-xs-6">
        <a href="'.$curl_odgovor_decoded[0]['slika4'].'" title="slika4" >
        <img class="img-responsive img-customer" src="'.$curl_odgovor_decoded[0]['slika4'].'">
        </a></div>';

我找不到for循环的问题,为什么它会打印出一个带图像的div?

2 个答案:

答案 0 :(得分:0)

你忘了在这里添加一个连接运算符

].'" title="slika'.$i.'" data-gal
                     ^---------------- Here  

答案 1 :(得分:0)

改变这个..

$format.='<div class="col-sm-3 col-xs-6">
                <a href="'.$curl_odgovor_decoded[0]['slika'.$i].'" title="slika'.$i.'" data-gallery="#blueimp-gallery">
                <img class="img-responsive img-customer" src="">
                </a></div>';
                echo $format;

你在这里忘记了一个点:

 title="slika'.$i.'" 
                 ^-------HERE