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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.