2016-07-16 4 views
0

У меня есть этот Еогеасп цикл:Blankline после Еогеасп петли

echo '';     
foreach ($r['result']['achievements']['0']['achievements'] as $item) { 
echo ' 
<div class="achiev-title"> ', $item['title'], '</div> 
<div class="description">  ', $item['description'], '</div> 

<div class="criteria">'; 
if(!empty($item['criteria'])){  
      foreach ($item['criteria'] as $item2){ 
      echo '<li> 
      ', $item2['description'], ' </li>'; 
      } 

     } 

} 
echo ' 
</div> 
<br/>'; 
?> 

Я хочу иметь blankline каждый раз две петли закончены. Для этого я пробовал <br/>, но без какого-либо эффекта.

ответ

0

Попробуйте:

echo '<div>';     
      foreach ($r['result']['achievements']['0']['achievements'] as $item) 
      { 
       echo '<div class="achiev-title">'.$item['title'].'</div> 
      <div class="description">'.$item['description'].'</div> 

      <div class="criteria">'; 
       if(!empty($item['criteria'])) 
       {  
        foreach ($item['criteria'] as $item2) 
        { 
        echo '<li>'.$item2['description'].'</li>'; 
        } 
       } 
     echo '</div></br>'; 

     } 
echo '</div>'; 
0

Ваш код должен быть, как этот

<?php 
    $r['result']['achievements']['0']['achievements'] = array(); 
    $item['criteria'] = array(); 
    foreach ($r['result']['achievements']['0']['achievements'] as $item) { 
     echo '<div class="achiev-title"> '. $item['title']. '</div> 
     <div class="description">  '. $item['description']. '</div> 
     <div class="criteria">'; 
     if(!empty($item['criteria'])){  
      foreach ($item['criteria'] as $item2){ 
      echo '<li>'. $item2['description']. ' </li>'; 
      } 
     } 
    } 
    echo '</div><br/>'; 
?> 

Снимите линии 2 и 3 для вашего кода XD

+0

Hm странно, не имеет никакого влияния на выход html. – Kelman

+0

Я протестировал его. Имел выход с
. Просмотрите свой код plz –

0

Похоже, вы закончили свой DIV и разместили свой бр в цикле элементов. Если вы хотите напечатать br после завершения двух циклов, вы должны напечатать его в конце первого цикла (петля $ item loop).

Кроме того, вы должны попробовать написать более чистый код, разделив HTML и PHP на отдельные теги, а не на эхо-комментарии HTML внутри самого PHP.

Попробуйте это:

<?php foreach ($r['result']['achievements']['0']['achievements'] as $item) { ?> 
<div class="achiev-title"><?php echo ', $item['title'], '; ?></div> 
<div class="description"><?php echo ', $item['description'], '; ?></div> 
<div class="criteria"> 
    <?php if(!empty($item['criteria'])) {  
    foreach ($item['criteria'] as $item2) { 
    ?> 
     <li><?php echo ', $item2['description'], '; ?></li> 
    <?php } // $item2 loop ends ?> 
    <?php } // if ends ?> 
    </div> 
<?php } // $item loop ends ?> 
<br/> 
0

Во-первых, это, казалось бы вы использовали запятые (,) были вы должны были использовать точки и (.) затем одинарные кавычки и двойные кавычки здесь и там. В любом случае, вы могли бы попробовать очень сжатый подход. Здесь вы найдете:

<?php 
    foreach ($r['result']['achievements']['0']['achievements'] as $item) { ?> 
     <div class="achiev-title"><?php echo $item['title'];  ?></div> 
     <div class="description"><?php echo $item['description'] ?></div> 
     <div class="criteria"> 
      <?php   
       if(!empty($item['criteria'])){ 
        foreach ($item['criteria'] as $item2){ 
         echo "<li>{$item2['description']}</li>"; 
        }  
       }  
      ?> 
     </div> 
    <?php } ?> 
Смежные вопросы