2017-08-07 105 views
1

我想從多個數組中獲取文本,我得到了第一個和第二個數組,但無法從第三個數組中獲取文本。 你可以看到我的代碼在這裏:陣列中的多個陣列

<div class="personTools"> 
    <ul> 
     <?php 
      for ($i = 0; $i < count($toolsMenu["TOOLS_MENU"]) ; $i++){ 
     ?> 
     <div class="dropdown"> 
      <li><?php echo $toolsMenu["TOOLS_MENU"][$i]; ?> <span class="fa fa-caret-down"></span></li> 
      <div class="dropdown-content"> 
       <?php 
        for ($d = 0; $d < count ($toolsMenu["TOOLS_MENU"][$i]); $d++) { 
       ?> 
         <li><?php echo $toolsMenu["TOOLS_MENU"][$i][$d]; ?> </li> 
       <?php 
        } 
       ?> 
      </div> 
     </div> 
     <?php 
      } 
     ?> 
    </ul> 
</div> 

和我的數組在這裏:

$toolsMenu = array(
    "TOOLS_MENU" => array(
      "تجربة 1" => array(1, 2, 3, 4), 
      "تجربة 2" => array(1, 2, 3, 4), 
      "تجربة 3" => array(1, 2, 3, 4), 
      "تجربة 4" => array(1, 2, 3, 4) 
    ) 
); 

我quastion是:爲什麼我得到這個消息?

Notice: Undefined offset: 0 in C:\wamp64\www\mazadi\tmpl\html.tpl on line

回答

2

foreach()給出那麼爲什麼要使用for(): -

<div class="personTools"> 
    <ul> 
     <?php 
      foreach ($toolsMenu["TOOLS_MENU"] as $key=> $toolsM){ 
     ?> 
     <div class="dropdown"> 
      <li><?php echo $key; ?> <span class="fa fa-caret-down"></span></li> 
      <div class="dropdown-content"> 
       <?php 
        foreach ($toolsM as $tools) { 
       ?> 
         <li><?php echo $tools; ?> </li> 
       <?php 
        } 
       ?> 
      </div> 
     </div> 
     <?php 
      } 
     ?> 
    </ul> 
</div> 

注: - 儘量避免for環路儘可能,如果你能處理事情foreach()因爲foreach()負責索引本身,而for循環沒有。