簡體   English   中英

遍歷PHP數組

[英]Looping through a PHP array

我有以下PHP數組結構:

$set = array();
$set[] = array('firstname'=>'firstname 1',
           'lastname'=>'lastname 1',
            "bio"=>array('paragraph 1 of the bio, 'paragraph 2 of the bio','paragraph 3 of the bio'),
           );

然后,我使用以下命令訪問數組:

  <?php $counter = 0;
  while ($counter < 1) :  //1 for now
  $item = $set[$counter]?>  

    <h1><?php echo $item['firstname'] ?></h1>
    <h1><?php echo $item['lastname'] ?></h1>

  <?php endwhile; ?>

我不確定如何遍歷數組的“ bio”部分並回顯每個段落。

因此,作為最終輸出,我應該有兩個h1(名字和姓氏)和三個段落(簡歷)。

我該怎么做呢?

使用foreach循環

foreach($item['bio'] as $listitem) {
   echo $listitem;
}

將以下內容添加到while循環中:

  <?php foreach ($item['bio'] as $paragraph): ?>
    <p><?php echo $paragraph; ?></p>
  <?php endforeach; ?>

請注意,使用的編碼樣式不是最佳的。

您不需要使用手動計數器,可以使用foreach。 通常,這是最簡單的方法,可以防止出現一對一的錯誤。

然后,您需要第二個內部循環來循環瀏覽生物。

<?php foreach ($set as $item): ?>  
    <h1><?php echo $item['firstname'] ?></h1>
    <h1><?php echo $item['lastname'] ?></h1>
    <?php foreach ($item['bio'] as $bio): ?>
        <p><?php echo $bio; ?></p>
    <?php endforeach; ?>
<?php endforeach; ?>

相關說明; 您可能想研究轉義輸出。

嘗試:

foreach($set as $listitem) {
if(is_array($listitem)) {
 foreach($listitem as $v) //as $set['bio'] is an array
  echo '<h1>' .$v . '</h1>';
} else  
 echo '<p>'.$listitem.'</p>';
} 

暫無
暫無

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

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