"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

php - stripslashesdeep

11Fire01 17.05.2015 - 10:32 2420 2
Posts

11Fire01

Here to stay
Registered: Dec 2002
Location: austria
Posts: 2417
im grunde weiß ich was es tut, doch nicht ganz in dieser schreibweise hier.

Code: PHP
function stripSlashesDeep($value)
{
    $value = is_array($value) ? array_map('stripSlashesDeep',$value) : stripslashes($value);

    return $value
}

was genau macht array_map hier und wieso kann es die funktion stripSlashesDeep in dieser Schreibweise als string, in sich selbst (innheralb der funktion), aufrufen (oder auch nicht???) ??

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25422
Nicht viel Magie hier. Lies mal nach, was array_map() tut. Der erste Parameter ist ein "callable" und damit eine Funktion, die für jeden Array-Eintrag aufgerufen wird. Wenn ein Array ein weiteres Array in sich trägt, dann ruft sich die Funktion selbst noch einmal auf, um auch diese Array-Einträge zu bearbeiten. Erst wenn der Parameter $value kein Array mehr ist, wird stripslashes() ausgeführt.

Callables können übrigens mit unterschiedlichsten Schreibweisen angegeben werden. Ein simpler String für eine globale Funktion ist die leichteste Methode. Mehr dazu hier.

11Fire01

Here to stay
Registered: Dec 2002
Location: austria
Posts: 2417
ah danke. das mit dem nochmals aufrufen war es.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz