Peter Pan: array_clean()

Beitrag lesen

Hi bajuvarischer Ministerpräsi!

Dein Nick hätte fast eine Antwort meinerseits verhindert - das nur als Randnotiz;)

Ich suche eine Funktion die array_clean() heissen könnte wenn es sie gäbe :-)

Was soll sie denn tun?

Ursprünglich war ich auf der Suche ein array auf empty() zu prüfen, aber schon array(""); ist nicht empty!

Natürlich nicht, denn dieses Array enthält ein Element und ist somit nicht leer - auch count wird Dir das bestätigen und wohl ein (int) 1 anzeigen.
Das erste Element dieses Array hat den boolschen Wert false- ist aber nicht (==||===) null. Es enthält eine leere Zeichenkette.

<?
//function array_clean(){}
$array1 = array_clean(array("","",""));
$array2 = array_clean(array("",array("",""),""));
$array3 = array_clean(array("","1",""));
$array4 = array_clean(array("",array("","1"),""));
?>

Ich suche nun nach einer Funktion die mir alle leeren Werte aus Arrays und gar leere arrays ganz rausschmeißt.

"Rausschmeißt", oder anzeigt welche es sind? Da Deine Funktion clean heissen soll, gehe ich mal von ersterem aus.

1&2 zB soll beim prüfen von if(empty(array)) = true ergeben

if(empty(array)) == true //oder: === true, oder?

Da wirst Du eine Iteration benötigen: Du kannst z.B: mit array_walk arbeiten, oder mit foreach über das Array iterieren.
Du solltest dann beim Durchlauf prüfen, ob das aktuelle Element ein Array ist und ggf. die Elemente löschen, welche leer sind.

off:PP

--
"You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)