Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Doppelte Werte löschen und neu ersetzen

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

  • [Erledigt] Doppelte Werte löschen und neu ersetzen

    Hallo,

    ich komme gerade leider nicht weiter, ich hab schon sehr viel gegoogelt und bin auf array_unique usw getroffen, aber komm jetz nicht weiter.

    Hier mal der code

    $pictures = array();
    $pictures[0] = 'test1';
    $pictures[1] = 'test1';
    $pictures[2] = 'test1';
    $pictures[3] = 'test1';

    for($i=0; $i<10; $i++) {

    $tmp = rand(0, sizeof($pictures));

    echo '<pair id="'.$tmp.'" src1="assets/karten/welt_'.$pictures[$tmp].'.gif" src2="" />
    }

    Also ich hab ein Array, das hat 67 einträge(ich hab jetz nur 4 hingeschrieben), davon will ich 10 herausfischen (was auch klappt). Jetzt will ich noch die 10 herausgefischten die in $tmp stehen auf doppelte einträge prüfen, falls doppelter eintrag, diesen löschen und neuen eintrag holen.

    Wäre super wenn ihr mir helfen könntet,

    Viel Grüße
    Thomas


  • #2
    Ich würde einen anderen Ansatz wählen. Ich würde zuerste das $tmp-Array initialisieren und dann eine while-Schleife laufen lassen, die so lange läuft, bis das $tmp-Array 10 Einträge enthält. In der Schleife holst du dann immer einen Eintrag aus deinem Ausgangsarray und schreibst den in dein $tmp-Array, wenn der Wert noch nicht drin ist.

    Kommentar


    • #3
      Aus einem Array, kannst Du z.B. so doppelte Werte entfernen:

      PHP-Code:
      function DoppelteWerteEntfernen($AlterArray)
      {
          
      $AlterArray array_unique($AlterArray);
          
      $ie 0;

          foreach(
      $AlterArray as $Wert)
          {
              
      $NeuerArray[$ie] = $Wert;
              
      $ie++;
          }

          return 
      $NeuerArray;

      wolf29
      while (!asleep()) sheep++;

      Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

      Kommentar


      • #4
        doppelt gemoppelt hält besser?

        Kommentar


        • #5
          Du meinst noch wegen der Schleife in der Funktion?!? Die ist damit da, das der Index neu gesetzt wird, oder was meinst du?

          wolf29
          while (!asleep()) sheep++;

          Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

          Kommentar


          • #6
            Hilft array_rand() nicht?
            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

            Kommentar


            • #7
              Hallo, danke für die Antworten, habe es über schleifen und einen randomIndex[] gelöst!

              Dankee!

              Kommentar

              Lädt...
              X