php - stripslashesdeep
11Fire01 17.05.2015 - 10:32 2420 2
11Fire01
Here to stay
|
im grunde weiß ich was es tut, doch nicht ganz in dieser schreibweise hier. 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
AdministratorLegends never die
|
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
|
ah danke. das mit dem nochmals aufrufen war es.
|