<?php $j=0;
while ($j<2){ if(empty($recent['id'][$k])) break;?>
<div class="col-md-5 col-xs-7" style="padding:0px;">
<div class="img-sm">
<?php if(!empty($recent['image'][$k])) { ?>
<img class="img-responsive" src="<?php echo base_url().url_thumb($recent['image'][$k],'konsultasi/') ?>" />
<?php } else { ?>
<img class="img-responsive" src="<?php base_url().'assets/images/logo.png' ?>" />
<?php } ?>
</div>
</div>
<?php $j++; $k++; } ?>
问题是,如果空图像对我不起作用。
答案 0 :(得分:1)
来自empty function documentation:
如果var存在并且具有非空的非零值,则返回 FALSE 。否则返回 TRUE 。
以下事项被认为是空的:
•&#34;&#34; (空字符串)
•0(0为整数)
•0.0(0作为浮点数)
•&#34; 0&#34; (0作为字符串)
•NULL
•错误
•array()(空数组)
•$ var; (声明的变量,但没有值)
只有$recent['image'][$k]
与empty()
返回FALSE
的上述情况不符。
也许你的字符串里面有空白字符。尝试使用:
if (empty(trim($recent['image'][$k])))
答案 1 :(得分:-1)
你没有在while循环之前声明你变量。
添加: $ k = 0;
我会这样做:
<?php
//Init loop var
$i = 0;
//Loop over results
while($i < 2){
//Skip loop if no id found
if(empty($recent['id'][$i]) continue;
//Output containers
echo '<div class="col-md-5 col-xs-7" style="padding:0px;">';
echo '<div class="img-sm">';
//Check has image, output dependent
if(!empty($recent['image'][$i])){
echo '<img class="img-responsive" src="<?php echo base_url().url_thumb($recent['image'][$i],'konsultasi/') ?>" />';
}
else{
echo '<img class="img-responsive" src="<?php base_url().'assets/images/logo.png' ?>" />';
}
//Close containers
echo '</div></div>';
//Increment counter
$i++;
}
?>
编辑:也许保持你的输出方式,使用浏览器而不是php(在这个编辑器中太懒了)。但请注意我只使用一个计数器变量来尝试并避免混淆。