我有一个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?
答案 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