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循环没有。