Если вам нужно выполнить строковые манипуляции с элементами массива, например, с помощью функции обратного вызова array_walk_recursive (или даже array_walk ) работает хорошо. И то и другое пригодится при динамическом написании операторов SQL.
В этом случае у меня есть этот массив с каждым элементом, нуждающимся в запятой и новой строке.
$some_array = [];
данные в $ some_array
0: «Некоторая строка в массиве»
1: «Другая строка в массиве»
За php.net
Если callback должен работать с фактическими значениями массива,
укажите первый параметр обратного вызова в качестве ссылки. Тогда любой
изменения, внесенные в эти элементы, будут внесены в исходный массив
сам по себе.
array_walk_recursive($some_array, function (&$value, $key) {
$value .= ",\n";
});
Результат:
"Некоторая строка в массиве, \ n"
"Другая строка в массиве, \ n"
Вот та же концепция, использующая array_walk для добавления имени таблицы базы данных к полю.
$fields = [];
данные в $ полях:
0: «Имя»
1: «Фамилия»
$tbl = "Employees"
array_walk($fields, 'prefixOnArray', $tbl.".");
function prefixOnArray(&$value, $key, $prefix) {
$value = $prefix.$value;
}
Результат:
"Employees.FirstName"
"Employees.LastName"
Мне было бы любопытно узнать, не является ли производительность проблемой foreach, но для массива с несколькими элементами, ИМХО, вряд ли стоит об этом думать.