tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
917
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    trench140 trench140 ist offline Mitglied Silber
    Registriert seit
    Mar 2008
    Beiträge
    76
    Hallo,

    ich habe ein Array, welches ein bis vier Elemente enthalten kann.
    Die einzelnen Elemente korrespondieren mit vier Formularfeldern, welche getrennt von einander ausgefüllt werden können (primär bis quartär), wobei jedoch eben mindestens eins und maximal alle vier ausgefüllt werden müssen.

    Nun möchte ich es so haben, wenn jemand die Felder unregelmäßig ausfüllt, dass dann jeweils das höchstwertigste Element an den Anfang des Arrays verschoben wird und die übrigen entsprechend aufrücken.

    Beispiele (primär links, quartär rechts):
    {0,0,0,x} -> {x,0,0,0}
    {0,x,0,y} -> {x,y,0,0}
    {x,0,y,z} -> {x,y,z,0}

    Wie kann ich das nun realisieren? Ich weiß, dass es bei PHP Funtkionen gibt, die Arrays sortieren, aber die, die ich bisher probiert haben zerhauen mir im ungünstigen Fall auch noch die Reihenfolge der Elemente, was aber nicht sein soll.

    Aus {0,z,x,y} wird dann z.B. {0,x,y,z} oder {x,y,z,0}, es sollte jedoch {z,x,y,0} herauskommen.

    Gruß,
    Trench
     

  2. #2
    Registriert seit
    Mar 2004
    Beiträge
    1.856
    Blog-Einträge
    2
    Wird das so mit Kommata eingegeben?
    Code :
    1
    
    0,x,z,y

    Mach dir dadraus ein Array mittels explode (mit "," als Seperator - siehe PHP.net).
    Das ist dann so:
    Code :
    1
    2
    3
    4
    
    $neu[0] = 0;
    $neu[1] = "x";
    $neu[2] = "z";
    $neu[3] = "y";

    Nun legs du einen neuen String an und prüfst Buchstabe für Buchstabe (in_array):
    Code :
    1
    2
    3
    
    ist der buchstabe im Array?
      JA: zum String folgendes hinzufügen ",buchstabe"
      NEIN : zum String die Zahl hinzufügen aus $neu[ {an wievielter stelle -von 0 an- der buchstabe steht } ]
     
    Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
    und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!


    MfG, Zod

    __________________
    rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)

  3. #3
    trench140 trench140 ist offline Mitglied Silber
    Registriert seit
    Mar 2008
    Beiträge
    76
    Hi,

    danke für deine Antwort.

    Das war so jetzt nur beispielsweise geschrieben.

    Konkret werden in dem Formular Hostnamen und/oder IPs für DNS-Server eingetragen, die dann als primäre bis quartäre Nameserver in eine tabelle eingetragen werden sollen. Logischerweise sollte hier dann eben, wenn es kein primärer Nameserver angegeben wurde, der sekundäre übernehmen, wenn er angegeben wurde usw..

    Dachte nur es gäbe vielleicht schon eine direkte Funktion in PHP, die eine derartige Sortierung ermöglichst, ansonsten bliebe eben wirklich nur der weg darüber das Array manuell zu durchsuchen.

    Gruß,
    Trench
     

  4. #4
    DeluXe DeluXe ist offline Funkjoker
    Registriert seit
    Jul 2004
    Ort
    Offenburg
    Beiträge
    847
    Zitat Zitat von trench140 Beitrag anzeigen
    jeweils das höchstwertigste Element
    Woran misst du die Wertigkeit?
     

  5. #5
    trench140 trench140 ist offline Mitglied Silber
    Registriert seit
    Mar 2008
    Beiträge
    76
    Am Elementnamen bzw. der Elementnummer im Array

    ns1 (bzw. 0): primärer Nameserver
    ns2 (1): sekundärer Nameserver
    ns3 (2): tertiärer Nameserver
    ns4 (3): quartärer Nameserver

    Dabei gilt:

    ns1 > ns2 > ns3 > ns4
     

  6. #6
    kuddeldaddeldu kuddeldaddeldu ist offline Mitglied Diamant
    Registriert seit
    Dec 2007
    Ort
    Bremen
    Beiträge
    3.418
    Hi,

    müssen die leeren Felder denn überhaupt im Array verbleiben? Sonst könntest Du sie ja mit array_filter() einfach entfernen.

    LG
     
    Da es nötig zu werden scheint: Ich leiste hier keinen Support über PN. Stellt Rückfragen zu Euren Problemen bitte in Eurem Thread, dann können alle helfen.

Ähnliche Themen

  1. Nach Array Key sortieren
    Von Kalma im Forum PHP
    Antworten: 12
    Letzter Beitrag: 27.08.08, 19:18
  2. MySQL: Nach leeren Feldern sortieren
    Von qsrs im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 07.10.07, 16:17
  3. Antworten: 5
    Letzter Beitrag: 13.12.06, 14:37
  4. Antworten: 5
    Letzter Beitrag: 05.06.04, 11:50
  5. Antworten: 1
    Letzter Beitrag: 08.01.03, 22:10