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.