寻找类似于 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 做的)。
- 如果输入的大小不同,则抛出错误。
- 循环较小的输入。
所有这些都有有效的应用程序和它们自己的问题。
作为正在学习 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 做的)。
- 如果输入的大小不同,则抛出错误。
- 循环较小的输入。
所有这些都有有效的应用程序和它们自己的问题。