Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用array_map函数将数组中的每个值相乘_Php_Arrays_Array Map - Fatal编程技术网

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中的每个值相乘

结果应该是:

  • $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 $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;
});