Как человек, который изучает PHP, я экспериментировал с функцией arrap_map. Я надеялся, что он будет передавать один и тот же третий аргумент каждый раз через вызываемую функцию. Как показано ниже, это не поведение array_map. Есть ли альтернативная функция, которую я могу использовать для достижения этой цели?
$arr = [['a'], ['b'], ['c']];
$args = ['set'];
function mapper($item, $arg){
return $item[] = $arg;
}
$result = array_map('mapper', $arr, $args);
только первый элемент имеет значение ‘set’ в качестве значения
$arr = [['a'], ['b'], ['c']];
$args = ['set', 'set', 'set'];
function mapper($item, $arg){
return $item[] = $arg;
}
$result = array_map('mapper', $arr, $args);
все три элемента имеют «установить» в качестве значения
Ваш код неверен, $a[$b]
не имеет никакого смысла. Обе переменные являются строками.
Ваш вывод также не имеет смысла, цитируя из руководства:
Если передано более одного аргумента, то возвращаемый массив всегда имеет
целочисленные ключи.
Чтобы ответить на ваш вопрос, это выбор языка дизайна.
Это могло бы
Все они имеют действительные приложения и свои проблемы.
Других решений пока нет …