DiamondDog: Problem mit asort und Ausgabe des nächsten Eintrags

Hallo Leute,
ich hab ein kleines Problem und zwar hab ich ein Array und dieses lasse ich mit asort sortieren. Das ganze funktioniert auch soweit. Nur meine Frage ist jetzt:
Die Keys sind ja dann alle durcheinander, wie schaffe ich es das mir wenn ich zb $arry['10'] habe den nächsten Key ausgegeben wird? Dieser ist ja dann nicht unbedingt 11 sonder vll 16 oder so...

Danke schon mal für eure Hilfe.

Mfg Dog

  1. Guckst du in die PHP-Dokumentation der Funktion zum ausgeben des nächsten Eintrags eines Arrays. Dort hat Aditya Bhatt einen entsprechenden Kommentar hinterlassen, der zeigt wie's gemacht wird.

    1. Guckst du in die PHP-Dokumentation der Funktion zum ausgeben des nächsten Eintrags eines Arrays. Dort hat Aditya Bhatt einen entsprechenden Kommentar hinterlassen, der zeigt wie's gemacht wird.

      Wäre das bei einem asort array nicht auch möglich mit next() und prev()?
      Oder ist es möglich nach asort des Arrays das Array neu zu nummerieren?

      1. Wäre das bei einem asort array nicht auch möglich mit next() und prev()?

        Prinzipiell ja, aber inital steht der Zeiger immer am ersten Element.

        Oder ist es möglich nach asort des Arrays das Array neu zu nummerieren?

        Wenn du dir die Liste der Array-Funktionen ansiehst, wirst du feststellen, dass es durchaus Funktionen für diesen Zweck gibt (oder dies implizit einfach machen) - asort() hingegen ist explizit dafür gedacht, die Indizes beizubehalten und trotzdem zu sortieren.

        1. Mir is da gerade noch was eingefallen könnte man nicht ein array mit asort sortieren und dann mit foreach das array durlaufen und in ein neues schreiben?
          Dann müste das neu array doch sortiert sein und die Zahlen wieder 0-X haben oder?

          1. Mir is da gerade noch was eingefallen könnte man nicht ein array mit asort sortieren und dann mit foreach das array durlaufen und in ein neues schreiben?
            Dann müste das neu array doch sortiert sein und die Zahlen wieder 0-X haben oder?

            Natürlich könnte man das tun, aber genauso gut könnte man blaue M&M's kaufen, ablutschen, mit grüner Lebensmittelfarbe lackieren - oder eben gleich grüne kaufen.

            Ich wiederhole mich ungern: aber asort() ist die falsche Funktion für deinen Zweck - die Doku hätte dir in diesem Fall schon längst die richtige Funktion genannt.

            1. Ich wiederhole mich ungern: aber asort() ist die falsche Funktion für deinen Zweck - die Doku hätte dir in diesem Fall schon längst die richtige Funktion genannt.

              Ok werd noch mal in ruhe die Doku durchgehn und n bisel testen werd schon das richtige finden.

              Danke fürs Helfen.

              1. Ok werd noch mal in ruhe die Doku durchgehn und n bisel testen werd schon das richtige finden.

                Das Lesen von der Doku asort() würde schon reichen - da würde dir auffallen, dass asort() einen Spezialfall einer anderen Funktion darstellt und die genaue funktionsweise bei der Grundvariante (mit allen Vor- und Nachteilen) wesentlich ausführlicher beschrieben wird (so wie das in der PHP-Doku üblich ist).

                Danke fürs Helfen.

                Keine Ursache, wenn es dir geholfen hat, in Zukunft selbst mit der Dokumentation arbeiten zu können, ist das erfreulich.