簡體   English   中英

foreach循環后的空白

[英]Blankline after foreach loops

我有這個foreach循環:

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/>';
?>

每當兩個循環結束時,我都希望有一個空白行。 為此,我嘗試了<br/>但沒有任何效果。

您的代碼應如下所示

<?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/>';
?>

刪除代碼xD的第2行和第3行

看來您已經結束了div並將br放置在item循環中。 如果要在兩個循環完成后打印br,則應在第一個循環($ item循環)花括號的末尾打印它。

另外,您應該嘗試通過將HTML和PHP分開在單獨的標簽中來編寫更簡潔的代碼,而不是在PHP本身內回顯HTML。

嘗試這個:

<?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/>

嘗試這個 :

  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>';

首先,似乎您使用的是逗號( ),應該使用點( ),然后在此處和此處使用單引號和雙引號。 無論如何,您可以嘗試一種更簡潔的方法。 干得好:

<?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 } ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM