======[PHP] array_replace_keys_rekursive()====== Auch diese Funktion ist das Resultat einer Hilfestellung im Tutorials.de-Forum. Die Frage war, wie man einfache in @ im Key eines Arrays entfernen kann. Dieses @ kam aus einem XML-File und gab Probleme beim weitergeben an Smarty. Diese Callback-Funktion wird gleich aufgerufen wie str_replace. Anstelle des Textes wird das Array übergeben. ===== Code ===== $key){ //Falls das item ein array ist, darauf ebenfalls diese Funktion anwenden $function = __FUNCTION__; if(is_array($array[$key])) $array[$key] = $function($search, $replace, $array[$key]); $keys[$index] = str_replace($search, $replace, $key); } //Den Array wieder zusammensetzen return array_combine($keys, $array); } ?> Testaufruf 'A', 'b' => 'B', '@c' => array( '@d' => 'D', 'e'=>'E', '@f'=>array() ) ); print_r(array_replace_keys_rekursive('@', '', $array)); ?> Ausgabe Array ( [a] => A [b] => B [c] => Array ( [d] => D [e] => E [f] => Array ( ) ) ) {{tag>PHP Function Array}}