2017-08-07 2 views
1

Ich versuche, Text aus Multi-Array zu bekommen, ich bekam 1. und 2. Array, konnte aber nicht Text aus dem 3. Array erhalten. Sie können meinen Code hier sehen:Multi-Arrays innerhalb eines Arrays

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

und meine Array hier:

$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) 
    ) 
); 

Mein quastion ist: Warum ich diese Meldung bin immer?

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

Antwort

2

Wenn foreach() gegeben, warum dann for() verwenden: -

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

Hinweis: - Versuchen Sie for Schleife so weit wie möglich zu vermeiden, wenn Sie in der Lage sind, Dinge zu behandeln mit foreach() weil foreach() kümmern sich um Indizes selbst, während for Schleife nicht funktioniert.

Verwandte Themen