PHP-функция array_map(...)
ожидает обратного вызова в качестве первого параметра (или null
для creating an array of arrays) и переменное число аргументов массива, например:Как использовать массив массивов с array_map (...) в PHP?
$foo => array_map(null, $bar, $buz);
Теперь у меня есть случай, когда мне нужно пройти array_map(...)
переменную количество массивов. Я не могу это сделать, потому что массивы для ввода array_map(...)
генерируются динамически.
function performSomeLogicAndGetArgumentsForMyFunction() {
...
return ['bar' => [...], 'buz' => [...]];
}
$foo = array_map(null, performSomeLogicAndGetArgumentsForMyFunction());
Это не работает таким образом, так как array_map(...)
ожидает переменное число массива и не массив массивов.
Есть ли решение для этого? Как сохранить гибкость вызова и передать переменное количество аргументов в array_map(...)
? (Это также относится и к любой другой VARIADIC функции я не могу манипулировать.)
Посмотрите на 'call_user_func_array()' – Rizier123
Спасибо, ребята! Да, конечно, это просто массив, и его можно легко распаковать/повторить. – automatix
Извините, я сформулировал вопрос неправильно. Проблема состоит в том, что на самом деле возникает «повторная передача» аргументов, например. к 'array_map (...)'. Я только что редактировал вопрос. – automatix