首页 > 解决方案 > 在 PHP 中将两个数字相除

问题描述

开发人员编写了一个函数来获取 php 中两个数字的平均值。这是它的设置方式

$extract_avg1 = getAvgByType($mydata2, ['field2', 'field1']);
foreach ($extract_avg1 as $val) {
    $tr_html .= "<td>$val</td>";
}

功能getAvgByType()是这样设置的


function getAvgByType($arr, $arr_type)
{
    $arr_avg = array();
    $arr_header = array();
    foreach ($arr as $adata) {
        $type = $adata["type"];
        if (in_array($type, $arr_type)) {
            foreach ($adata as $key => $val) {
                if ($key != 'type') {
                    $prev = 0;
                    if (!empty($arr_avg[$key])) {
                        $prev = $arr_avg[$key];
                    }

                    $arr_avg[$key] = $prev + intval($val);
                    $arr_header[$key] = $key;
                }
            }
        }
    }

    foreach ($arr_header as $key => $val) {
        $arr_avg[$key] = $arr_avg[$key] / count($arr_type);
    }

    return $arr_avg;
}

现在我们面临一个不再需要捕获AVG()而是简单地划分两个数字的问题。我们如何 - 重写这个函数,以便它简单地执行计算

field2/field1

编辑
field1并且是我想要划分field2的数据类型和示例值,我期望的输出是int93489/262872.36

标签: php

解决方案


field1并且是我想要划分field2的数据类型和示例值,就像/并且我期望的输出是int93489262872.36

function getAvgByType($arr, $arr_type) {

    //array keys start at 0
    $field1 = $arr_type[0];
    $field2 = $arr_type[1];
    
    //divide and round up to 2 decimal points
    return round($field2 / $field1, 2);
}

推荐阅读