array_delete oder so änhlich

SeeknDestroy

Mitglied
Hi,

wie kann ich aus einem array z.B. eine Zeile $arr[7] aus einem Array gerauslöschen, sodass die hinteren nach oben rutschen und der ehmalige String $arr[8] nun $arr[7] wird !

Ich habe mir da array_delete gedacht, aber das nicht, ich glaub auch das der Befehl eher fürs löschen von ganzen Arrays gedacht ist !

Mfg!
 
PHP:
// demonstration an einer möglichen Lösung :-P
$key_2_del = 3; // käse soll gelöscht werden und Stuhl, Tisch und Decke aufrücken
$me_array = ("Apfel", "Wein", "Brot", "Käse", "Stuhl", "Tisch", "Decke");
for($i = 0; $i < count($me_array); $i++){
   if($i == $key_2_del){}else{$me_neu_array[] = $me_array[$i]}
}

Grummel ... ist das so schwer?
Es gibt noch andere Wege, hier auf die schnelle eine Möglichkeit.
Ungetestet, müßte aber funktionieren.

Soll ich noch popo-wischen? :rolleyes: :-)
(konnt's mir nicht verkneifen, sorry ;) )
 
Hallo Neurodeamon!

Ich würde dann noch die Referenz von $me_array auf $me_neu_array setzen. So kannst du das gut in einer Funktion verpacken!

Rajan
 
Wesentlich eleganter ist es so:
PHP:
// Beispielarray
$arr = array('wert1', 'wert2', 'wert3', 'wert4');

// Wert mit dem Index 1 löschen
unset($arr[1]);

// Keys neu verteilen
$arr = array_values($arr);
 
Zurück