variable Array Tiefe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • reallife
    antwortet
    Hmm..
    PHP-Code:
    $arr_temp[] = "hallo";
    $arr_temp[] = " ";
    $arr_temp[] = "Welt";
    $arr_temp[] = "!!";

    for ( 
    $i 0$i sizeof($arr_temp); $i++ )
      echo 
    $arr_temp[$i]; 
    Schwieriger wäre es, wenn du noch ein Array im Array hast:
    PHP-Code:
    $arr_temp[] = "Hallo";
    $arr_temp[] = " ";
    $arr_temp[] = "Welt";
    $arr_temp[] = array(', wie ist das Wetter heute?');
    $arr_temp[] = "Beschissen..";

    function 
    arr_print($arr)
    {
      for ( 
    $i 0$i sizeof($arr); $i++ )
      {
        
    $curr = &$arr[$i];
        if ( 
    is_array($curr) )
          
    arr_print($curr);  // rekursiver aufruf dieser Funktion..
        
    else
          echo 
    $curr;
      }
    }

    arr_print($arr_temp); 
    Sollte dein verschachteltes Array ein gemischtes, also ein assoziatives und ein numerisches Array sein, dann würde ich es so machen:
    PHP-Code:
    $arr_temp[] = "Hallo";
    $arr_temp['test_1'] = " ";
    $arr_temp[] = "Welt";
    $arr_temp['test_2'] = array('test' => ', wie ist das Wetter heute?');
    $arr_temp[] = "Beschissen..";

    function 
    arr_print($arr)
    {
      foreach ( 
    $arr as $k => $v )
      {
        if ( 
    is_array($v) )
          
    arr_print($v);  // rekursiver aufruf dieser Funktion..
        
    else
          echo 
    $v;
      }
    }

    arr_print($arr_temp); 
    Ich hoffe ich hab dir helfen können.

    Einen Kommentar schreiben:


  • Le_Cheffe
    antwortet
    Original geschrieben von schmalle
    wo ist jetzt genau das problem? Ich würde sagen for() oder foreach(), je nach array- Typ
    Hi !

    Mein Problem ist, dass ich das ganze gerne allgemeingültig für alle Fälle lösen würde, also höchstens die "Anzahl der Tiefe" habe, aber ich nicht weiß, wie ich dann (je nach Tiefe) das Array so angeben soll, dass es immer stimmt.

    PHP-Code:

    $anz 
    count($x); // Tiefe des Arrays

    // hier Schleife hin ... 
    Soweit so gut, aber mal drei Beispiele genommen.

    - $anz sei 1, dann habe ich $ergebnis[$x[0]]
    - $anz sei 2, dann habe ich $ergebnis[$x[0]][$x[1]]
    - $anz sei 3, dann habe ich $ergebnis[$x[0]][$x[1]][$x[2]]
    usw.

    Vielleicht übersehe ich eine einfach Möglichkeit, aber irgendwie will mir keine Möglichkeit einfallen, dieses in einer Schleife so zu konstruieren, dass ich das eben für $anz > 0 hinbekommen würde.

    Gruß

    Le Cheffe

    Einen Kommentar schreiben:


  • schmalle
    antwortet
    wo ist jetzt genau das problem? Ich würde sagen for() oder foreach(), je nach array- Typ

    Einen Kommentar schreiben:


  • Le_Cheffe
    hat ein Thema erstellt variable Array Tiefe.

    variable Array Tiefe

    Hi !

    Zu folgendem hätte ich gerne gewusst, ob das irgendwie variabel geht.

    Dieses Array habe ich beispielsweise ... (könnte auch 1 oder 3 oder mehr keys/values enthalten)

    PHP-Code:

    $x 
    = array ([0] => 1, [1] => 5); 
    Nun würde ich gerne wissen, ob es möglich ist, über eine Schleife (oder andere Konstrukte), damit auf ein zweites Array $ergebnis[$x[0]][$x[1]] zuzugreifen.

    Natürlich sollte es. wenn z.B.
    PHP-Code:
    $x = array ([0] => 4
    ist, dann auch auf $ergebnis[$x[0]] zugegriffen werden.

    Gruß

    Le Cheffe
Lädt...
X