Joshua: kurze Frage: Assoziatives Array

Hallo!

Ich habe hier folgendes assoziatives Array:

  
$array = array(  
  "00" => array("test0.html" => "test0"),  
  "01" => array("test1.html" => "test1"),  
  "02" => array("test2.html" => "test2"),  
  "03" => array("test3.html" => "test3"),  
  "04" => array("test4.html" => "test4"),  
  "05" => array("test5.html" => "test5"),  
  "06" => array("test6.html" => "test6"),  
  "07" => array("test7.html" => "test7"),  
  "08" => array("test8.html" => "test8"),  
  "09" => array("test9.html" => "test9"),  
  "10" => array("test10.html" => "test10"),  
  "11" => array("test11.html" => "test11"),  
  "12" => array("test12.html" => "test12")  
 );  

Ich bekomme jetzt über die URL eine Variable ($c) übergeben, die eine der zweistelligen Ziffern von 00 - 12 enthält. Anhand dieser Ziffer bestimme ich das Element des Arrays, welches mir dann "zerlegt" werden soll. - Und hier komme ich nicht weiter.

Für mein Projekt muss ich nämlich das Array wie folgt zerlegen können:
Element: z.B. 10
Dateiname: test10.html
Titel: test10

Ich sitze anscheinend hier nun schon seit einer geschlagenen halben Stunde und komm einfach nicht weiter. - Kann mir jemand von euch helfen?

Gruss
 Joshua

  1. Hallo,

    kurze Antwort:

      
    $c    =$_GET['c'];           // Element: z.B. 10  
    $name =[link:http://de3.php.net/manual/de/function.current.php@title=current]($array[$c]);  // Dateiname: test10.html  
    $titel=[link:http://de3.php.net/manual/de/function.key.php@title=key]($array[$c]);      // Titel: test10  
    
    

    Gruß aus Berlin!
    eddi

  2. Ich persönlich notiere "sowas" lieber so:

    $Array[10][title]='test10';
    $Array[10][filename]='test10.html';

    Tommy

  3. hi,

    Anhand dieser Ziffer bestimme ich das Element des Arrays, welches mir dann "zerlegt" werden soll. - Und hier komme ich nicht weiter.

    Was gibt es da zu "zerlegen"?

    Für mein Projekt muss ich nämlich das Array wie folgt zerlegen können:
    Element: z.B. 10

    Diesen Wert hast du übergeben bekommen.

    Dateiname: test10.html
    Titel: test10

    'test10.html' ist der Schlüssel deines Arrays $array['10'], 'test10' ist der Wert.
    Du kannst jetzt z.B. each() benutzen, um diese zu bekommen.

    Aber was bezweckst du mit einem Aufbau in der Form
    array("test0.html" => "test0")
    überhaupt?

    Wenn die einen Dateinamen und einen Titel darstellen sollen - wäre dann nicht folgende Form zur Datenablage sinnvoller?

    array('dateiname' => 'test0.html', 'titel' => 'test0')

    Btw: Mit den "pseudo-nummerischen" Indizes mit führenden Nullen wäre ich vorsichtig - wenn dir da irgendwo mal die automatische Typkonvertierung von PHP dazwischenfunkt, hast du plötzlich Oktalzahlen, und damit höchstvermutlich ein Problem.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  4. Hello,

    $array = array(
      "00" => array("test0.html" => "test0"),
      "01" => array("test1.html" => "test1"),
      "02" => array("test2.html" => "test2"),
      "03" => array("test3.html" => "test3"),
      "04" => array("test4.html" => "test4"),
      "05" => array("test5.html" => "test5"),
      "06" => array("test6.html" => "test6"),
      "07" => array("test7.html" => "test7"),
      "08" => array("test8.html" => "test8"),
      "09" => array("test9.html" => "test9"),
      "10" => array("test10.html" => "test10"),
      "11" => array("test11.html" => "test11"),
      "12" => array("test12.html" => "test12")
    );

    foreach($array as $key => $val)
    {
      echo "<b>$key</b> =&gt; $val<br />\n";
    }

    Würde z.B. jedes Element des Arrays behandeln und den Schlüssel und den Wert unter dem Schlüssel anzeigen. Da steht also "nimm jedes Element des Arrays, betrachte es als Wertepaar (hier: $key zeigt auf $val) und mach was damit. Die Variablen namen $key und $val sind frei wählbar.

    Ausgabe wäre:

    0    Array
      1    Array
      2    Array

    foreach($array as $key => $val)
    {
      echo "$key, <b>".key($val)."</b> =&gt;". $array[$val]."<br />\n";
    }

    Oder: (Index bitte einsetzen)

    Echo $array[$index];                 // gibt "Array" aus

    Echo $array[$index][0];              // gibt den Wert des Unterarrays aus (z.B. "test3")

    Echo key($array[$index]);            // gibt den Schlüssel des Unterarrays aus (z.B. "test3.html")

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

    1. Hello,

      Hello,

      $array = array(
        "00" => array("test0.html" => "test0"),
        "01" => array("test1.html" => "test1"),
        "02" => array("test2.html" => "test2"),
        "03" => array("test3.html" => "test3"),
        "04" => array("test4.html" => "test4"),
        "05" => array("test5.html" => "test5"),
        "06" => array("test6.html" => "test6"),
        "07" => array("test7.html" => "test7"),
        "08" => array("test8.html" => "test8"),
        "09" => array("test9.html" => "test9"),
        "10" => array("test10.html" => "test10"),
        "11" => array("test11.html" => "test11"),
        "12" => array("test12.html" => "test12")
      );

      foreach($array as $key => $val)
      {
        echo "<b>$key</b> =&gt; $val<br />\n";
      }

      Würde z.B. jedes Element des Arrays behandeln und den Schlüssel und den Wert unter dem Schlüssel anzeigen. Da steht also "nimm jedes Element des Arrays, betrachte es als Wertepaar (hier: $key zeigt auf $val) und mach was damit. Die Variablen namen $key und $val sind frei wählbar.

      Ausgabe wäre:

      0    Array
        1    Array
        2    Array

      foreach($array as $key => $val)
      {
        echo "$key, <b>".key($val)."</b> =&gt;". $array[$val]."<br />\n";
      }

      Oder: (Index bitte einsetzen)

      $index = "03";

      Echo $array[$index]."<br>";                 // gibt "Array" aus

      Echo $array[$index][0];              // gibt den Wert des Unterarrays aus (z.B. "test3")

      #  nee, das gibt einen Fehler...

      Echo $array[$index][key($array[$index])]."<br>";  # so müsste es gehen.

      Echo key($array[$index])."<br>";            // gibt den Schlüssel des Unterarrays aus (z.B. "test3.html")

      Harzliche Grüße vom Berg
      http://www.annerschbarrich.de

      Tom

      Harzliche Grüße vom Berg
      http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau

      1. Hello,

        $array = array(
          "00" => array("test0.html" => "test0"),
          "01" => array("test1.html" => "test1"),
          "02" => array("test2.html" => "test2"),
          "03" => array("test3.html" => "test3"),
          "04" => array("test4.html" => "test4"),
          "05" => array("test5.html" => "test5"),
          "06" => array("test6.html" => "test6"),
          "07" => array("test7.html" => "test7"),
          "08" => array("test8.html" => "test8"),
          "09" => array("test9.html" => "test9"),
          "10" => array("test10.html" => "test10"),
          "11" => array("test11.html" => "test11"),
          "12" => array("test12.html" => "test12")
        );

        leider auch noch falsch:

        foreach($array as $key => $val)
        {
          echo "$key, <b>".key($val)."</b> =&gt;". $array[$val]."<br />\n";
        }

        so funktioniert es:

        foreach($array as $key => $val)
         {
           echo "$key, <b>".key($val)."</b> =&gt;". $val[key($val)]."<br />\n";
         }

        Harzliche Grüße vom Berg
        http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau