2015-08-03 2 views
1
<?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

Можете ли вы разместить свой массив '$ recent' –

+0

Опубликовать вывод' var_dump ($ recent) '. – Barmar

+0

Я буду считать, что проверяется! Empty - это не массив, не существует. Попробуйте использовать комбинацию 'isset()' и '! = NULL' – JParkinson1991

ответ

1

От empty function documentation:

Возвращает FALSE , если переменная существует и имеет непустое, ненулевое значение. В противном случае возвращается TRUE.

следующие вещи считаются пустыми:
• "" (пустая строка)
• 0 (0 как целое число)
• 0.0 (0 как поплавок)
• "0" (0 как строка)
• NULL
• FALSE
• массив() (пустой массив)
• $ вар; (Переменная объявлена, но без значения)

Просто ваш $recent['image'][$k] не соответствует выше случаи, когда empty() возвращается FALSE.

Возможно, у вашей строки есть пробелы внутри. Попробуйте использовать:

if (empty(trim($recent['image'][$k])))

-1

Вы не объявляли вы K переменной до цикла.

Add: $ 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++; 

} 

?> 

EDIT: может держать свой путь выхода, с помощью браузера, а не PHP (был слишком ленив, чтобы сделать это в этом редакторе). Но заметьте im, используя только одну переменную счетчика, чтобы попытаться сохранить путаницу.