Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Den Index eines Arrays neu erstellen
Frage
Hallo alle zusammen,
ich habe ein Array in PHP mit 50 Werten.
Wenn ich jetzt mit unset ein Element lösche z.B. das Element an der 40sten Stelle, und mir dann wieder eine zufallszahl zwischen 0 und 50 generiere, und ich die 40 bekomme, so steht halt einfach nichts da.
Ich möchte aber dann dass das 40ste Element gelöscht wird, und der Index neu erstellt wird. Also der 40 Eintrag ist dann weg.
Das Element 41 wird dann 40
Das Element 42 wird dann 41
Das Element 43 wird dann 42
Das Element 44 wird dann 43
Das Element 45 wird dann 44
Das Element 46 wird dann 45
Das Element 47 wird dann 46
Das Element 48 wird dann 47
Das Element 49 wird dann 48
Das Element 50 wird dann 49
wie mache ich das?
Kann mir jemand helfen.
Vielen Dank im Voraus.
LG
LittleT
Antwort 1 von rabies
Überprüf doch einfach, bevor Du auf das Element zugreifst, ob dieses auch existiert.
php.net - Function: array_key_exists()
Wenn Du das nicht möchtest, musst Du halt die Keys neu generieren nachdem ein Element gelöscht wurde.
--rabies.
php.net - Function: array_key_exists()
Wenn Du das nicht möchtest, musst Du halt die Keys neu generieren nachdem ein Element gelöscht wurde.
--rabies.
Antwort 2 von LittleT
klar könnte ich überprüfen ob mein Array gefüllt ist, aber das will ich nicht.
Ich möchte schon das Array neu indexieren, aber wie funktioniert das.
Ich kann doch dann nicht alle Elemente die noch vorhanden sind in ein neues Array schreiben.
Das ist viel zu aufwendig. Das muss ich ca. 20 mal machen.
Gruß
LittleT
Ich möchte schon das Array neu indexieren, aber wie funktioniert das.
Ich kann doch dann nicht alle Elemente die noch vorhanden sind in ein neues Array schreiben.
Das ist viel zu aufwendig. Das muss ich ca. 20 mal machen.
Gruß
LittleT
Antwort 3 von rabies
Andere Möglichkeit als die neue Generierung gibt es meines Wissens nach leider nicht. Da musst Du dann schon was eigenes machen und wie Du schon richtig sagst, eine Kopie des vorhandenen Arrays erstellen. -- Deswegen ja mein Vorschlag mit der Überprüfung des Keys.
--rabies.
--rabies.
Antwort 4 von osswood
Hallo,
es ist tasächlich nicht so aufwändig wie es aussieht.
Nach Löschen eines Datensatzes den ganzen Rotz in ein 2. Array verschieben, und notfalls dann wieder in das erste, nachdem Du es gelöscht hast.
Wenn deine Abfrage das hergibt kannste dann auch gleich auf das 2. Array zugreifen.
Also,
viel Erfolg
mfg
Osswood
es ist tasächlich nicht so aufwändig wie es aussieht.
Nach Löschen eines Datensatzes den ganzen Rotz in ein 2. Array verschieben, und notfalls dann wieder in das erste, nachdem Du es gelöscht hast.
Wenn deine Abfrage das hergibt kannste dann auch gleich auf das 2. Array zugreifen.
Also,
viel Erfolg
mfg
Osswood

