Ankündigung

Einklappen
Keine Ankündigung bisher.

array index umdrehen und als variable hinzufügen

Einklappen

Neue Werbung 2019

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

  • array index umdrehen und als variable hinzufügen

    Hallo,

    ich habe ein array[$j], wobei jeder Eintrag bei index $j wieder ein array enthält.
    var_dump stellt das so dar:
    PHP-Code:
    array(1) { [0]=> string(69"Bet=Will the sun still shine next year?
    ExpirationDate=31/12/14" 
    [1]=> int(1) } 
    Nun möchte ich das enthaltene array mit einer int $ID erweitern, die genau umgekehrt zum index j ist. Angenommen count(array) gibt "20" aus:
    Also ist j=0, soll $ID "20" sein. Ist j=19, soll $ID "1"
    sein.

    wie mache ich das am geschicktesten?


  • #2
    Zitat von rivelinho Beitrag anzeigen
    var_dump stellt das so dar:
    PHP-Code:
    array(1) { [0]=> string(69"Bet=Will the sun still shine next year?
    ExpirationDate=31/12/14" 
    [1]=> int(1) } 
    Wenn var_dump das bei dir wirklich genau so ausgibt, ist dein PHP kaputt.
    Ansonsten verstehe ich nichts von dem, was du da machen möchtst.
    PHP-Klassen auf github

    Kommentar


    • #3
      Bin mir nicht sicher, ob ich verstanden habe was du tun möchtest. Daher versuche ich jetzt erst einmal die Struktur deiner Daten nachzustellen. $j nimmt in dem Beispiel den Wert 17 an.

      PHP-Code:
      $j 17;
      for(
      $i 0$i 20$i++){
          
      $array[$i][] = md5($i); // nur um Inhalt zu haben
          
      $array[$i][] = rand(0102); // nur um Inhalt zu haben
      }
      echo 
      '<pre>';
      var_dump($array); 
      ergibt für den Index $j:
      Code:
      array(20) {
      //...
        [17]=>
        array(2) {
          [0]=>
          string(32) "70efdf2ec9b086079795c442636b55fb"
          [1]=>
          int(45)
        }
      //...
      }
      Nun möchte ich das enthaltene array mit einer int $ID erweitern, die genau umgekehrt zum index j ist. Angenommen count(array) gibt "20" aus:
      Also ist j=0, soll $ID "20" sein. Ist j=19, soll $ID "1"
      sein.
      Ich interpretier jetzt mal, die ID gibt an, wie viele Elemente im Array noch folgen. Um das Beispiel weiter zu basteln:
      PHP-Code:
      for($i 0$i count($array); $i++){
          
      $array[$i]['ID'] = count($array) - $i;
      }
      var_dump($array[$j]); 
      Code:
      array(3) {
        [0]=>
        string(32) "70efdf2ec9b086079795c442636b55fb"
        [1]=>
        int(45)
        ["ID"]=>
        int(3)
      }
      Relax, you're doing fine.
      RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

      Kommentar


      • #4
        Zitat von jspit Beitrag anzeigen
        Wenn var_dump das bei dir wirklich genau so ausgibt, ist dein PHP kaputt.
        warum?

        Kommentar


        • #5
          Zitat von VPh Beitrag anzeigen
          Code:
          array(3) {
            [0]=>
            string(32) "70efdf2ec9b086079795c442636b55fb"
            [1]=>
            int(45)
            ["ID"]=>
            int(3)
          }
          supi, das hab ich gemeint. Danke!

          Kommentar


          • #6
            Dein PHP ist vermutlich nicht kaputt. Die Aussage sollte ein wenig provozieren. Eher ist es so, das var_dump etwas anderes ausgegeben hat als du oben gezeigt hast. Vergleiche mal dein Bruchstück mit der Ausgabe im Beitrag von VPh.
            Dort steht richtig array(2). Es ist mir unklar, wie sich auffällig oft solche Fehler einschleichen. Tippt ihr die Ausgaben ab?

            Und warum hast du nicht gleich die komplette Struktur gezeigt?
            So hat VPh vermutlich um die Struktur deiner Daten nachzustellen mehr Zeit investieren müssen als in die Lösung.
            PHP-Klassen auf github

            Kommentar


            • #7
              verstehe. in der tat hab ich diese 2 manuell zu einer 1 gemacht.
              ich wollte nur einen (statt 2) arrayeinträge darstellen und habe auf die schnelle das fälschlich korrigiert.

              Kommentar

              Lädt...
              X