Doppelte Einträge in mehrdimensionalem Array?

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

  • Doppelte Einträge in mehrdimensionalem Array?

    Ein herzliches hallo an Alle,

    ich stehe vor einem Problem, was ich einfach nicht gelöst bekommen. Ich habe ein Array das wie folgt aussieht:

    Array
    (
    [0] =>
    [1] =>
    [2] =>
    [3] =>
    [4] => Array
    (
    [fil_nr] => 43
    [fil_name] => Musterfiliale
    [fil_str] => Testgasse
    [fil_plz] => 12345
    [fil_ort] => abx
    [fil_tel] => 0213587
    [fil_zeit] => bla, bla, bla
    [fil_angebot] => dfgj fgdfg gkgk gkfgkdfg

    )

    [5] =>
    [6] =>
    [7] => Array
    (
    [fil_nr] => 54
    [fil_name] => Musterfiliale
    [fil_str] => asdjfds
    [fil_plz] => 45452
    [fil_ort] => xxxx
    [fil_tel] => 4544455
    [fil_zeit] => ghdghghdghfghhgh hfdg ghfdg g ggh
    [fil_angebot] => dfgj fgdfg gkgk gkfgkdfg
    )

    [8] =>
    [9] =>
    [10] => Array
    (
    [fil_nr] => 43
    [fil_name] => fgsdg
    [fil_str] => sgfdgdg
    [fil_plz] => 45364
    [fil_ort] => fasf
    [fil_tel] => 456745645654
    [fil_zeit] => fghfdgh fgh rgfh fgh
    )

    [11] =>
    [12] =>
    [13] =>

    Nun möchte ich hier alle Einträge entfernen die die gleiche fil_nr besitzen. Ich habe jetzt 2 Tage mit array_uniqe gekämpft, aber ich bekomme es einfach nicht hin. Ich würde mich über einen Rat sehr freuen. Danke im Voraus und

    herzliche Grüße

    Kicky

  • #2
    das ganze in ner schleife durchgehen. dabei die id in ein temp array speicher. davor prüfst du dann noch, ob die id schon drin ist, dann löschst du den eintrag.

    Kommentar


    • #3
      Re: Doppelte Einträge in mehrdimensionalem Array?

      ähm,

      PHP-Code:
      <?PHP
      for ($i=0$i<count($array); $i++)
        if (
      is_array($array[$i] && isset($array[$i][fil_nr]))
          
      $newarray[$array[$i][fil_nr]][] = $i;
      foreach (
      $newarray as $feld)
        if (
      count($feld) > 1)
          foreach (
      $feld as $index)
            unset(
      $array[$index]);
      prinzipiell? sollte alle arrays aus array entfernen, deren fil_nr mehr als einmal auftritt

      obs mit array_unique auch geht?
      obs einfacher geht? bestimmt ...
      Die Zeit hat ihre Kinder längst gefressen

      Kommentar


      • #4
        das ganze in ner schleife durchgehen. dabei die id in ein temp array speicher. davor prüfst du dann noch, ob die id schon drin ist, dann löschst du den eintrag.
        dann müßte ja in seinem fall zumindest ein array mit fil_nr =43 erhalten bleiben, laut aussage wollte er aber
        alle Einträge entfernen die die gleiche fil_nr besitzen.
        , es sollen also alle arrays rausfliegen, die fil_nr=43 besitzen. oder?
        EDIT:
        in anbetracht dessen, daß er array_unique benutzen wollte, könntest du aber recht haben, sollte sich aber durch leichtes verändern meines pseudo-codes genauso lösen lassen ...
        Zuletzt geändert von derHund; 09.03.2004, 19:16.
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          OffTopic:
          @hund
          selbstgespräche ?
          Kissolino.com

          Kommentar


          • #6
            Sorry, ich musste kurz weg, bin jetzt wieder da. Als erstes herzlichen Dank für die Unterstützung. Ich werde die Dinge jetzt mal durchgehen. Es sollte tatsächlich, wenn mehrere Einträge mit Fil_nr 43 da sind einer stehen bleiben und der Rest gelöscht werden. Ich bin noch nicht so sehr weit mit diesen Dingen, werde es aber weiter versuchen. Also noch mal Danke

            Gruß Kicky

            Kommentar


            • #7
              @derhund

              @wurzel: er redet mit meiner wenigkeit.

              @Kicky: viel erfolg!

              Kommentar


              • #8
                Es sollte tatsächlich, wenn mehrere Einträge mit Fil_nr 43 da sind einer stehen bleiben
                dann schreib das nächstes mal auch hin.

                selbstgespräche
                in gewisser weise liest doch eh keiner.
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar

                Lädt...
                X