php - 如何将两个不同长度的数组相乘?

标签 php arrays math multiplication

我有两个不同长度的数组:

$a = array(10, 20, 30, 40, 50);
$b = array(1, 2, 3);

我想将它们相乘(例如 $c=array_mult($a, $b)),以重复较短的数组。 $c 应该是 10, 40, 90, 40, 100 因为:

10 * 1 = 10
20 * 2 = 40
30 * 3 = 90

40 * 1 = 40
50 * 2 = 100

PHP 中有内置函数可以完成此任务吗?如何有效解决这个问题?

最佳答案

没有内置函数可以做到这一点。不过,您可以使用 foreach 和模运算符非常轻松地完成此操作:

$c = array();
$len = count($b);
foreach($a as $key => $value){
    $c[$key] = $value*$b[($key % $len)];
}

关于php - 如何将两个不同长度的数组相乘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23210211/

相关文章:

php - WordPress插件开发: Deliver other page to browser than requested in URL

php - 链接到根域的动态链接

c# - 使用平方反比和计算 PI

c++ - 位置百分比度

php - 使用 Homebrew 在 Mavericks 上安装 MySQL 时遇到问题

php - 将一系列 json 对象转换为单个 json 对象

c++ - 访问数组内容时出错

python - 如何将元组列表更改为 numpy 数组?

javascript - 将 bool 数组数组减少为单个 bool 数组(Array<Array<boolean>> 到 Array<boolean>)

arrays - 在 O(1) 中确定基于数组的二叉树中的最低子节点(具有最大索引的后代)?