2014-10-20 67 views
-2

我必須遵循陣列隱蔽多維數組UL李

$array = array(
     array("title" => "soup", 
      array(
       "name" => "miso soup", 
       "description" => "popular japanese soup", 
       "price" => "7.00","8.00", 
      ), 
      array(
       "name" => "seafood soup", 
       "description" => "very delicious soup", 
       "price" => "10.00","18.00", 
       ), 
     ), 
     array("title" => "rice", 
      array(
       "name" => "miso soup", 
       "description" => "popular japanese soup", 
       "price" => "7.00","8.00", 
      ), 
      array(
       "name" => "seafood soup", 
       "description" => "very delicious soup", 
       "price" => "10.00","18.00", 
      ), 
     ) 
    ); 

我的最終目標是要像

<h1>soup</h1> 
<ul> 
    <li>miso soup <p>popular japanese soup</p><span>7.00<span><span>8.00</span></li> 
    <li>seafood soup <p>very delicious soup</p><span>10.00</span><span>18.00</span></li> 
</ul> 
<h1>rice</h1> 
<ul> 
    <li>miso soup <p>popular japanese soup</p><span>7.00<span><span>8.00</span></li> 
    <li>seafood soup <p>very delicious soup</p><span>10.00</span><span>18.00</span></li> 
</ul> 

我試圖把用於內部foreach循環創建列表,是結果想出了複製李。

任何幫助將不勝感激!先謝謝你!

+3

向我們展示您的最佳嘗試。你學會了當你嘗試,而不是當你複製粘貼其他人的代碼 – zerkms 2014-10-20 05:14:53

回答

1

你應該改變你的數組的設計,因爲在頂部數組將會有條目「title」,「0」和「1」,這使得它更加困難。此外,語法不會讓你想要的價格。讓這樣的:

$array = array(
    array(
     "title" => "soup", 
     "data" => array(
      array(
       "name" => "miso soup", 
       "description" => "popular japanese soup", 
       "price" => array("7.00","8.00"), 
      ), 
      array(
       "name" => "seafood soup", 
       "description" => "very delicious soup", 
       "price" => array("10.00","18.00"), 
      ) 
     ), 
    ), 
    array(
     "title" => "rice", 
     "data" => array(
      array(
       "name" => "miso soup", 
       "description" => "popular japanese soup", 
       "price" => array("7.00","8.00"), 
      ), 
      array(
       "name" => "seafood soup", 
       "description" => "very delicious soup", 
       "price" => array("10.00","18.00"), 
      ) 
     ) 
    ) 
); 

最後,你可以創建你的輸出是這樣的:

foreach ($array as $entry) { 
    echo "<h1>".$entry['title']."</h1>"; 
    echo "<ul>"; 
    foreach ($entry['data'] as $data) { 
     echo "<li>".$data['name']." <p>".$data['description']."</p>"; 
     foreach ($data['price'] as $price) { 
      echo "<span>".$price."</span>"; 
     } 
    } 
    echo "</ul>"; 
} 
+1

非常感謝你florian,抱歉,我沒有看到你修改數組,現在它的工作,再次感謝你^^ – 2014-10-20 05:53:57

0

我希望這將有助於

foreach($array as $row) { 
    echo '<h1>'.$row['title'].'</h1>'; 
    unset($row['title']); 
    echo '<ul>'; 
    foreach($row as $list) { 
     echo '<li>'.$list['name'].'<p>'.$list['description'].'</p><span>'.$list['price'].'</span><span>'.$list[0].'</span></li>'; 
    } 
    echo '</ul>'; 
} 
0

你也可以試試這個:

foreach($array as $item){ 
    echo "<h1>".$item['title']."</h1>"; 
    echo "<ul>"; 
    for($i=0;$i<count($item)-1;$i++) 
    { 
     $des=$item[$i]; 
     echo "<li>".$des['name'];   
     echo "<p>".$des['description']."</p>"; 
     echo "<p>".$des['price']."</p>";    
     echo "</li>"; 
    } 
    echo "</ul>"; 
}