You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对两个同维度数组的对应元素执行除法运算?

实现PHP数组对应元素相除的几种方法

嘿,这事儿好办,针对你说的两个同维度数组对应元素相除的需求,给你两种简单靠谱的实现方式:

方法一:用array_map()快速搞定

这是PHP里处理这类数组对应操作最简洁的方式,array_map()能同时遍历多个数组,对每一组对应位置的元素执行自定义逻辑:

$array1 = ['10','20','30'];
$array2 = ['5','10','5'];

$result = array_map(function($val1, $val2) {
    // 先把字符串转成整数(避免字符串运算坑),计算后再转回字符串
    return (string)((int)$val1 / (int)$val2);
}, $array1, $array2);

// 打印结果看看
print_r($result);
// 输出:Array ( [0] => 2 [1] => 2 [2] => 6 )

为啥要转类型?因为你的数组元素是字符串类型,如果直接做除法,PHP虽然会自动转换,但手动转一下更稳妥,避免出现意料之外的问题。

方法二:foreach循环手动遍历

要是你更习惯传统的循环写法,也可以手动遍历数组来计算:

$array1 = ['10','20','30'];
$array2 = ['5','10','5'];
$result = [];

// 遍历第一个数组的键值,同时取第二个数组对应位置的元素
foreach ($array1 as $key => $num1) {
    $num2 = $array2[$key];
    // 转类型计算后存入结果数组
    $result[$key] = (string)((int)$num1 / (int)$num2);
}

print_r($result);
// 同样能得到你想要的结果

小提醒:这里默认两个数组的长度完全一致,如果实际场景中有可能长度不同,建议先加个判断,比如if (count($array1) !== count($array2)),避免出现索引不存在的报错~


内容的提问来源于stack exchange,提问作者user2430933

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:34:15