Sahra: Array gezielt ausgeben

Hallo Leute,

wie geht es euch denn allen so? Mir geht es gut bis auf diese kleine Herausvorderung hier.

Ich habe ein Array das ID und Titel beinhaltet und so in einer Schleife erzeugt wird.

array_push($id_und_titel,array('id'=>$row->id,'name'=>$row->name));

Bei der Ausgabe tue ich mich schwer. Wenn ich

echo $id_und_titel[33]['name']."<br><br>";

kommt das 34. Array raus nicht aber die ID 34.

Wie kann ich das denn machen?
Bis dann
Sahra

  1. hi,

    Bei der Ausgabe tue ich mich schwer. Wenn ich

    echo $id_und_titel[33]['name']."<br><br>";

    kommt das 34. Array raus nicht aber die ID 34.

    Wie kann ich das denn machen?

    Du möchtest dir klar machen, dass PHP - wie so gut wie allen anderen gängigen Programmiersprachen auch - bei 0 anfängt zu zählen.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo Wahsaga,

      das habe ich ja auch verstanden. Aber wie gesagt die ID 34 aus der Datenbank hat einen anderen Namen als das Array [34]. Die Frage ist also wie gebe ich den Namen zu der passenden ID aus. Jetzt wird ja der Index von dem Arry genommen. Müsste ja fast so sein:

      echo $id_und_titel[][33]['name']."<br><br>";

      Bis dann
      Sahra

      1. Hallo Wahsaga,

        das habe ich ja auch verstanden. Aber wie gesagt die ID 34 aus der Datenbank hat einen anderen Namen als das Array [34]. Die Frage ist also wie gebe ich den Namen zu der passenden ID aus. Jetzt wird ja der Index von dem Arry genommen. Müsste ja fast so sein:

        echo $id_und_titel[][33]['name']."<br><br>";

        Bis dann
        Sahra

        Ich kann zwar kaum PHP aber das Problem kenne ich. Du musst Dir eine kleine Routine(oder Methode) schreiben die das ganze Array durchläuft und kuckt wo die ID 34 drin steht, und bei einem Treffer das Element zurück gibt. Anders kannst du nicht darauf zu griefen, es sei denn das php schon so eine "GetElementByContent-Methode hat.

        1. Ich habe da was gefunden

          function array_durchsuchen($array, $string){
            $enthalten_in=array();
            foreach($array as $key1 => $value1){
             foreach($value1 as $key2 => $value2){
              if($value2 == $string){
               $enthalten_in[]=$key1;
              }
             }
            }
            return $enthalten_in;
           }

          Aber das funktioniert leider noch nicht so ganz...

        2. echo $begrüßung;

          Aber wie gesagt die ID 34 aus der Datenbank hat einen anderen Namen als das Array [34]. Die Frage ist also wie gebe ich den Namen zu der passenden ID aus. Jetzt wird ja der Index von dem Arry genommen. Müsste ja fast so sein:

          echo $id_und_titel[][33]['name']."<br><br>";
          Du musst Dir eine kleine Routine(oder Methode) schreiben die das ganze Array durchläuft und kuckt wo die ID 34 drin steht, und bei einem Treffer das Element zurück gibt.

          Nein, das ist so umständlich nicht nötig. Elemente in PHP-Arrays lassen sich auch mit einem selbst definierten Schlüssel anlegen: $array[$key] = $content;

          Man sollte dann aber auch beachten, dass bei solch wahlfreiem Zugriff ein Durchlaufen des Arrays nur noch mit foreach sinnvoll ist.

          echo "$verabschiedung $name";

      2. hi,

        Aber wie gesagt die ID 34 aus der Datenbank hat einen anderen Namen als das Array [34]. Die Frage ist also wie gebe ich den Namen zu der passenden ID aus.

        Ich war davon ausgegangen, dass du die IDs von der DB schon sortiert bekommst, und dann der Reihe nach ins Array beförderst.
        Und dann sollte es ja ausreichen, vom gewünschten Ausgabewert eins abzuziehen, um auf's richtige Element zuzugreifen.

        gruß,
        wahsaga

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