使用 array_map 函数将数组中的每个值相乘
Multiply each value in array using array_map function
我正在尝试将 array_module_rate
数组中的每个值相乘。
结果应该是:
$array_module_rate[0]
= 25
$array_module_rate[1]
= 15
$array_module_rate[2]
= 20
我该怎么做?
$array_module_rate = array(
'5',
'3',
'4'
}
$global_course = 5;
array_map(function($cal) {
return $cal * $global_course;
}, $array_module_rate);
$array_module_rate = array(
'5',
'3',
'4'
}
$global_course = 5;
foreach($array_module_rate as $key=>$value){
$array_module_rate[$key]=$global_course* $value;
}
您可以使用 foreach 循环
使用闭包在 array_map
回调中发送额外的参数。
$array_module_rate = array(
'5',
'3',
'4'
);
$global_course = 5;
array_map(function($cal) use($global_course) {
return $cal * $global_course;
}, $array_module_rate);
如果要修改原数组,可以用array_walk
代替array_map
。它通过引用获取数组,因此如果您也通过引用将数组元素传递给回调,您可以直接修改它。
array_walk($array_module_rate, function(&$cal) use ($global_course) {
$cal *= $global_course;
});
请注意,您需要将 $global_course
传递到带有 use
的回调中,否则 it won't be available in that scope。
现代 PHP 具有“箭头函数”,它允许您在匿名函数体内访问全局范围的变量。这使您可以使用简洁的函数式方法将每个元素简明地乘以 $global_course
因子。
代码:(Demo)
var_export(
array_map(fn($v) => $v * $global_course, $array_module_rate)
);
输出:
array (
0 => 25,
1 => 15,
2 => 20,
)
我正在尝试将 array_module_rate
数组中的每个值相乘。
结果应该是:
$array_module_rate[0]
= 25$array_module_rate[1]
= 15$array_module_rate[2]
= 20
我该怎么做?
$array_module_rate = array(
'5',
'3',
'4'
}
$global_course = 5;
array_map(function($cal) {
return $cal * $global_course;
}, $array_module_rate);
$array_module_rate = array(
'5',
'3',
'4'
}
$global_course = 5;
foreach($array_module_rate as $key=>$value){
$array_module_rate[$key]=$global_course* $value;
}
您可以使用 foreach 循环
使用闭包在 array_map
回调中发送额外的参数。
$array_module_rate = array(
'5',
'3',
'4'
);
$global_course = 5;
array_map(function($cal) use($global_course) {
return $cal * $global_course;
}, $array_module_rate);
如果要修改原数组,可以用array_walk
代替array_map
。它通过引用获取数组,因此如果您也通过引用将数组元素传递给回调,您可以直接修改它。
array_walk($array_module_rate, function(&$cal) use ($global_course) {
$cal *= $global_course;
});
请注意,您需要将 $global_course
传递到带有 use
的回调中,否则 it won't be available in that scope。
现代 PHP 具有“箭头函数”,它允许您在匿名函数体内访问全局范围的变量。这使您可以使用简洁的函数式方法将每个元素简明地乘以 $global_course
因子。
代码:(Demo)
var_export(
array_map(fn($v) => $v * $global_course, $array_module_rate)
);
输出:
array (
0 => 25,
1 => 15,
2 => 20,
)