4.26 Eine Funktion auf jedes Element eines Arrays anwenden
Problem
Sie möchten eine Funktion oder Methode auf jedes Element in einem Array anwenden. Auf diese Weise können Sie die Eingabedaten der gesamten Menge auf einmal transformieren.
Lösung
Nutzen Sie array_walk( )
:
function escape_data(&$value, $key) { $value = htmlentities($value, ENT_QUOTES); } $names = array('firstname' => "Baba", 'lastname' => "O'Riley"); array_walk($names, 'escape_data'); foreach ($names as $name) { print "$name"; } Baba O'Riley
Und für geschachtelte Daten array_walk_recursive( )
:
function escape_data(&$value, $key) { $value = htmlentities($value, ENT_QUOTES); } $names = array('firstnames' => array("Baba", "Bill"), 'lastnames' => array("O'Riley", "O'Reilly")); array_walk_recursive($names, ...
Get PHP 5 Kochbuch, Third Edition now with O’Reilly online learning.
O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.