Hallo,
also ich muss eine Funktion auf jedes Element in einem Array/Object anwenden, wobei diese Funktion den Inhalt des Wertes ändert.
Bsp:
$array[] = "Ein String";
$array[]->objekt = "Ein Objekt";
$array[]->mit_array[1] = "Ein Array in einem Objekt";
Diese Funktion soll jetzt jeden String 'behandeln', und das return dann unter dem gleichen Namen in $array speichern (überschreiben).
Möchte ich z.B., dass jetzt alles Großgeschrieben wird, soll das ca. so aussehen:
$array = schreib_alles_groß($array);
Bei reihnen Arrays geht dies z.B. so:
if ( ! function_exists('array_map_recursive') ) {
function array_map_recursive($function, $data) {
foreach ( $data as $i => $item ) {
$data[$i] = is_array($item)
? array_map_recursive($function, $item)
: $function($item) ;
}
return $data ;
}
}
$test = array();
$test[] = "Ein Test";
$test[]->test = "Ein 2. Test";
$test = array_map_recursive('strtoupper', $test);
Allerdings habe ich jetzt hier Probleme wenn z.B. in dem Array objekte auftauchen.
Desweiteren soll die Funktion auch mit reihnen Objekten funktionieren.
Hat dort jmd. eine Lösung?
(P.S. Es würde mir schon helfen, wenn ich wüsste, wie ich jede Variable in einem Objekt behandeln könnte)
MFG