[PHP] Function array_filter funktioniert nicht wie erwartet **erledigt**

strolch00

redraft.de
ID: 155297
L
21 April 2006
1.684
72
Hi @all,

ich hab nen Problem mit folgendem Code:
PHP:
   $data = array(1,"");
         //leere element entfernen
         array_filter($data);
         var_dump((bool)$data[1]);

normalerweise sollte $data[1] gar nicht mehr existieren! Übersehe ich da was in der Doku oder hab ich nur ein verständnis Problem?

Danke @all
 
Zuletzt bearbeitet:
normalerweise sollte $data[1] gar nicht mehr existieren! Übersehe ich da was in der Doku oder hab ich nur ein verständnis Problem?

Ich befürchte, dass du

PHP:
$data = array_filter($data);

machen musst (oder einer neuen Variablen zuweisen), $data selbst bleibt schätzungsweise verschont.

Edit:

Oder vielleicht geht das auch so:
PHP:
array_filter(&$data);

(nur eine Idee)
 
@theHacker ja das ist mir klar wie man diese Funktion nutzt, aber wenn man weiter liest steht dort weiter unten, nach dem ersten Beispiel:
Falls die Function callback nicht angegeben wurde, wird array_filter() alle Einträge aus dem Array entfernen, die FALSE sind. Schauen Sie sich Konvertierung in Booleans für mehr Informationen hierzu an.

Siehe dann noch weiter unten:
Beispiel 195. array_filter() ohne callback
 
@strolch00:
Dir is ned klar, wie du die Funktion nutzt :p

Du hast ja schon festgestellt, dass var_dump bool(false) liefert, d.h. ohne angegebenen Callback entfernt array_filter das Element. Also so, wie du es haben willst.
normalerweise sollte $data[1] gar nicht mehr existieren!
Wieso ? :hö: $data[] is doch unverändert ;)