phpbar.de logo

Mailinglisten-Archive

[php] Leere Felder aus Array entfernen

[php] Leere Felder aus Array entfernen

Sacha Vorbeck php_(at)_phpcenter.de
Mon, 21 Jan 2002 19:16:32 +0100


Hi,

ich wuerde gerne leere Felder aus einem Array enfernen. Dazu habe
ich mir folgende Funktion geschrieben. Ich habe schon versucht,
die Positionen der leeren Felder in einen anderen Array zu
schreiben und diesen dann mit einer for each Schleife zu
durchlaufen, in der folgende Anweisung steht:

while(list($key,$val) =
each($array_mit_den_ids_der_leeren_felder))
{
    $key_index = array_keys(array_keys($array_mit_leerfeldern),
$value);
    array_splice($array_mit_leerfeldern, $key_index[0],1);
}

das geht deshalb in die Hose, weil nach jedem splice, der Index
des Arrays mit den leeren feldern veraendert wird und somit die im
Array gespeicherten Positionen der leeren Felder nicht mehr
stimmen.

Jetzt habe ich mir eine Funktion geschrieben, die sich nach dem
loeschen eines leeren Feldes wieder selbst aufrufen soll (geht das
ueberhaupt?). Folgendes habe ich zusammengestrickt, will aber
nicht so richtig:


function kill_empty_fields($array)
{
  foreach($array as $pos => $value)
    {
      if ($value=="")
      {
         unset($array['$pos']);
         break;
   }
   kill_empty_fields($array);
  }
}

Kann mir jemand sagen, wo da der Wurm drin ist?

Danke und Ciao

Sacha


php::bar PHP Wiki   -   Listenarchive