寻找类似于 array_map 但每次回调的参数都相同的函数

Looking for function similar to array_map but which the same arg each time to the callback

作为正在学习 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);

所有三个元素都有 'set' 作为值

您的代码不正确,$a[$b]没有任何意义。两个变量都是字符串。

你的输出也没有意义,引用手册:

If more than one argument is passed then the returned array always has integer keys.


回答你的问题,是语言设计的选择。

可以

  • 为缺少的元素传递 NULL(这是 PHP 做的)。
  • 如果输入的大小不同,则抛出错误。
  • 循环较小的输入。

所有这些都有有效的应用程序和它们自己的问题。