ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
917
917
EMPFEHLEN
-
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
-
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)
-
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
-
-
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
-
24.09.08 00:10 #6
- 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.
LGDa 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
-
Nach Array Key sortieren
Von Kalma im Forum PHPAntworten: 12Letzter Beitrag: 27.08.08, 19:18 -
MySQL: Nach leeren Feldern sortieren
Von qsrs im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 07.10.07, 16:17 -
Element in Datenbank nach eigener ID Sortieren und Reihenfolge Ändern
Von chofer02 im Forum PHPAntworten: 5Letzter Beitrag: 13.12.06, 14:37 -
Array nach Größe sortieren, Index aber beibehalten!?
Von Trendy Andy im Forum C/C++Antworten: 5Letzter Beitrag: 05.06.04, 11:50 -
2d Array sortieren $array[name][0] sortieren nach [name]
Von Mr. FISHMAN im Forum PHPAntworten: 1Letzter Beitrag: 08.01.03, 22:10





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren