PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ein element aus einem array löschen



abc
09-08-2006, 18:09
hallo!

ich hab hier eine datei mit explode in ein array gelesen. ich möchte nun ein element aus dem array löschen (mir unset) und die restlichen elemente ausgeben. irgendwie funktioniert das aber nicht so wie ich mir das denke:


eintrag 1 Wed 09th of Aug, 18:27
abc1

Delete------------------------------------------
eintrag 2 Wed 09th of Aug, 18:27
abc2

Delete------------------------------------------
eintrag 3 Wed 09th of Aug, 18:27
abc3

Delete------------------------------------------

//hier fangen die restlichen ausgegebenen an, getrennt durch sternchen

**************
eintrag 1 Wed 09th of Aug, 18:27
abc1

************** //sternchen werden geschrieben nur wo ist der eintrag?


zur erklärung: die oberen 3 einträge sind die 3 aus dem array. ich habe beim mittleren eintrag auf löschen geklickt. unten sollen nur noch die stehen, die ich nicht gelöscht hab.

was mach ich falsch? :confused:

mfg abc

PS: wenn ich auf den dritten löschlink klicke werden die 2 restlichen beiträge ordnungsgemäß ausgegeben

Romanday
10-08-2006, 05:58
was mach ich falsch? :confused:


Du postest nicht dein Script.

abc
10-08-2006, 09:06
es ist aber nicht das das gestern diese ausgabe erzeugt hat.
das ist der interressante teil. in $parts sind die mit explode getrennten teile.
$post_to_delete gibt das zu löschende element an.


for ($j=$post_to_delete; $j<sizeof(parts)-1; $j++)
{
$parts[$j]=$parts[$j+1];
}
unset($parts[sizeof($parts)-1]);


ich denke mir, ich verschiebe ab dem zu löschenden element alle elemente dahinter um eines vor und lösche dann das letzte, weil das funktioniert

mfg abc

michael.sprick
10-08-2006, 09:47
array_splice($parts,$post_to_delete,1);


...sollte es auch tun

Romanday
10-08-2006, 10:47
es ist aber nicht das das gestern diese ausgabe erzeugt hat.
das ist der interressante teil. in $parts sind die mit explode getrennten teile.
mfg abc

Warum wandelst du mit explode() dein String erst in einen Array um?
Du kannst doch gleich in der Zeichenkette die Ersetzungen vornehmen.

abc
10-08-2006, 10:58
array_splice($parts,$post_to_delete,1);


...sollte es auch tun
nein es funktioniert nicht.

Warum wandelst du mit explode() dein String erst in einen Array um?
Du kannst doch gleich in der Zeichenkette die Ersetzungen vornehmen.
welche ersetzungen?

abc
10-08-2006, 11:12
@michael.sprick: danke, es hat jetzt plötzlich doch funktioniert! :D

lg abc

Romanday
10-08-2006, 15:03
nein es funktioniert nicht.

welche ersetzungen?

Sorry, hab mich verlesen.
(Alles im grünen Bereich.)