Php 使用array_map函数将数组中的每个值相乘
我试图将Php 使用array_map函数将数组中的每个值相乘,php,arrays,array-map,Php,Arrays,Array Map,我试图将array\u module\u ratearray中的每个值相乘 结果应该是: $array\u module\u rate[0]=25 $array\u module\u rate[1]=15 $array\u module\u rate[2]=20 我怎么能做到 $array_module_rate = array( '5', '3', '4' } $global_course = 5; array_map(function($cal) { return $
array\u module\u rate
array中的每个值相乘
结果应该是:
=25$array\u module\u rate[0]
=15$array\u module\u rate[1]
=20$array\u module\u rate[2]
$array_module_rate = array(
'5',
'3',
'4'
}
$global_course = 5;
array_map(function($cal) {
return $cal * $global_course;
}, $array_module_rate);
您可以使用foreach循环使用closure在
数组映射
回调中发送附加参数。
$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\u walk
而不是array\u map
。它通过引用获取数组,因此如果您也通过引用将数组元素传递给回调,则可以直接修改它
array_walk($array_module_rate, function(&$cal) use ($global_course) {
$cal *= $global_course;
});
请注意,您需要使用
use
将$global\u course
传递到回调中,否则。您不会对数组映射()的结果执行任何操作。
。它不会就地修改数组,而是返回一个新数组。
array_walk($array_module_rate, function(&$cal) use ($global_course) {
$cal *= $global_course;
});