Supportnet Computer
Planet of Tech

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.

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

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.

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

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: