Tags in Array laden

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

  • Tags in Array laden

    Hallo zusammen, ich habe mal ne frage zu einem kleineren Problem.

    also, ich habe eine Datenbank die folgendermassen aufgebaut ist:

    001|test, alpha, beta|irgendwas|
    002|fussball, ball,|nochmalirgendwas|
    003||irgendwas 3|
    004|bla bla, test|irgendwas 4|

    nun wie kriege ich alle tags in einen array geladen, und so das kein Tag 2 mal vorkommt?

    meine Idee/vorschlag

    PHP-Code:
    $alletags "";
    foreach (
    $db as $db_temp)
      {
      list(
    $id$tagsirgendwas) = explode("|"$db_temp);
      
    $alletags $alletags.$tags.",";
      } 
    das ergibt folgende ausgabe (string): test, alpha, beta,fussball, ball,,bla bla, test,

    und mittels explode teile ich die dinger am ",", allerdings was ist wenn ich wie im beispiel 2 "," drin hab, und 2 mal "test"..?

    am schluss solle ich einen Array haben wie folgt:

    array
    {
    [0]=> test
    [1]=> alpha
    [2]=> beta
    ...
    ...
    }

    da gibt es bestimmt eine "einfachere lösung oder?
    Danke für eure vorschläge..

  • #2
    Hallo,

    ich verschieb das mal ins richtige Forum, denn es ist eine allgemeine Frage und keine geniale Funktion, die andere unbedingt brauchen könnten.

    Zitat von iloveratte Beitrag anzeigen
    also, ich habe eine Datenbank die folgendermassen aufgebaut ist
    Es sieht aus, als hättest du ein Flatfile oder eine CSV-Datei. Der Begriff Datenbank ist in diesem Falle etwas irreführend.

    Zitat von iloveratte Beitrag anzeigen
    allerdings was ist wenn ich wie im beispiel 2 "," drin hab
    Meinst du das Komma am Ende hinter „ball“? Das kann man einfach ignorieren.

    Zitat von iloveratte Beitrag anzeigen
    nun wie kriege ich alle tags in einen array geladen, und so das kein Tag 2 mal vorkommt?
    Den ersten Teil (nach | explodieren) hast du ja schon. Für den zweiten Teil (gefundene Tags zusammenfassen) kannst du auch erstmal nach dem Komma explodieren und das Ergebnis-Array mit array_unique() von DUplikaten befreien. Zum Schluss werden noch leere Elemente entfernt (wie das leere Tag nach ball). Das kannst du mit array_filter() machen.

    Du kannst aber auch preg_split() benutzen und das Flag PREG_SPLIT_NO_EMPTY angeben, dann kümmert PHP sich selbst um doppelte Kommata.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Ok, danke.. hat so wuderbar funktioniert..

      Kommentar

      Lädt...
      X