dedlfix: array_clean()

Beitrag lesen

Hi!

Wie gesagt ich bekomm das alleine nicht hin und array_filter ist nicht das richtige für diese Rekursive sache!

array_filter() allein hilft leider nicht bei verschachtelten Arrays, denn wenn ein rekursiver Aufruf was anderes als ein zu false kompatiblen Wert liefert, wird nicht der ermittelte Wert genommen, sondern der originale beibehalten. Aber eine Kombination aus array_filter() und array_walk() hilft.

$array2 = array("",array("",""),"");  
$array4 = array("",array("","1"),"");  
  
function filter($test) {  
  if (is_array($test))  
    return array_filter(array_map('filter', $test));  
  return $test;  
}  
  
var_dump(array_filter(array_map('filter', $array2))); // leeres Array  
var_dump(array_filter(array_map('filter', $array4))); // Array mit nicht-leeren Elementen

Lo!