Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] arrays unsetten und sorten

Einklappen

Neue Werbung 2019

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

  • [Erledigt] arrays unsetten und sorten

    Hey zusammen,

    habe seit Ewigkeiten mal wieder mit php angefangen und habe nun ein Problem mit Arrays. Hab schon gesucht aber nicht das Richtige gefunden, wäre toll, wenn mir da wer nen Rat geben könnte.

    Ich habe hier ein Array mit 4 Einträgen.

    Code:
    $_incl['Bericht_Kats'][] ( [0] => g
                                [1] => z
                                [2] => b
                                [3] => a
    Ich unsette nun [1] und [2] und hab anschließend folgendes:

    Code:
     $_incl['Bericht_Kats'][] ( [0] => g
                                [3] => a
    Dies gebe ich mit einer for() Schleife aus, welches immer $i um eins erhöht und das Array mittels $_incl['Bericht_Kats'][$i] ausgibt.

    Problematisch hierbei ist natürlich, dass leere Felder ausgegeben werden, da die Schlüsselnummerierung im Array nicht mehr durchgängig ist. Ich möchte also die Einträge "zusammenrücken". Das ginge z.b. mit sort(), aber sort ordnet auch alphabetisch und genau DAS will ich NICHT. Leider hab ich vergessen, wie das stattdessen ging.

    Danke für eure Hilfe,
    lg netti


    p.s.: for()-Schleife deshalb, weil es ein altes und sehr umfangreiches cms-System ist, dass über viele Seiten verfügt. Es wäre faktisch unmöglich da alles zu ändern.

  • #2
    benutze eine foreach-schleife, dann hast du das problem nicht

    Kommentar


    • #3
      Zitat von netti Beitrag anzeigen
      for()-Schleife deshalb, weil es ein altes und sehr umfangreiches cms-System ist, dass über viele Seiten verfügt. Es wäre faktisch unmöglich da alles zu ändern.
      Hatte ich erwähnt =)

      Kommentar


      • #4
        Ähm

        PHP-Code:
        $arr $orig_arr;
        unset(
        $orig_arr);
        foreach(
        $arr as $val)
        {
          
        $orig_arr[] = $val;
        }
        unset(
        $arr); 

        Kommentar


        • #5
          Ich hab mal für dich ins Manual geguckt und siehe da, dafür kann man auch wunderbar array_merge benutzen:

          Zitat von http://de2.php.net/manual/de/function.array-merge.php
          Falls nur ein Array angegeben und dieses numerisch indiziert ist, wird das Array fortlaufend neu nummeriert.

          Kommentar


          • #6
            Oder array_values()

            Kommentar


            • #7
              Super!

              Genau das habe ich gesucht - vielen Dank! =)

              Nimms mir nicht übel cycap, aber das wären so etwa 20 seiten in denen ich die for() Schleifen zu foreach ändern müsste... da fehlt mir die Motivation für =)

              Kommentar


              • #8
                netti, ich hab nichts davon gesagt das du schleifen ersetzten sollst. mein oben genanntes beispiel macht genau das was du willst, array mit lücken rein -> array ohne lücken raus... du hast jetzt 3 funktionierende Methoden, ich denke der Thead kann als Erledigt markiert werden

                Kommentar


                • #9


                  ja, wer lesen kann ist klar im vorteil ^^

                  beg your pardon

                  klar, erledigt. danke.

                  Kommentar

                  Lädt...
                  X