А как насчет этого:
function my_func($str) {
echo "<attr>{$str}</attr>\n";
}
array_map('my_func', $data);
(Должно работать, но мне любопытно, что это скорость по сравнению с foreach
петлей)
Или, если вы используете PHP> = 5.3 (вероятно, не ваш случай, кстати) , вы можете использовать это, основываясь на лямбда-функции:
array_map(function ($item) {
echo "<attr>{$item}</attr>\n";
}, $data);
Почти то же самое, но без необходимости объявлять функцию, используемую в программе только один раз.