PHP-计算数组中项目的百分比

PHP-计算数组中项目的百分比,php,arrays,Php,Arrays,我有以下数组 Array ( [0] => Array ( [rate] => normal-rate [quantity] => 1 ) [1] => Array ( [rate] => extra-rate [quantity] => 2 ) [2] => Array ( [rate] => extra-rate

我有以下数组

Array
(
[0] => Array
    (
        [rate] => normal-rate
        [quantity] => 1
    )

[1] => Array
    (
        [rate] => extra-rate
        [quantity] => 2
    )

[2] => Array
    (
        [rate] => extra-rate
        [quantity] => 1
    )

)
我正在尝试计算数组中额外费率项目的百分比,我可以直接这样做吗?还是应该首先通过计算数量并将所有内容相加来创建一个新数组?

在一行中,它是:

$pers = count(array_filter($array, function($v) { return $v['rate'] == 'extra-rate'; })) / count($array);
简单来说,它是:

$count = 0;
foreach ($array as $v) {
    if ($v['rate'] == 'extra-rate') {
        $count++;
    }
}
$pers = $count / count($array);
考虑到数量:

$ex_qty = 0;
$total_qty = 0;
foreach ($array as $v) {
    if ($v['rate'] == 'extra-rate') {
        $ex_qty += $v['quantity'];
    }
    $total_qty += $v['quantity'];
}
$pers = $ex_qty / $total_qty;
在一个班轮中,它是:

$pers = count(array_filter($array, function($v) { return $v['rate'] == 'extra-rate'; })) / count($array);
简单来说,它是:

$count = 0;
foreach ($array as $v) {
    if ($v['rate'] == 'extra-rate') {
        $count++;
    }
}
$pers = $count / count($array);
考虑到数量:

$ex_qty = 0;
$total_qty = 0;
foreach ($array as $v) {
    if ($v['rate'] == 'extra-rate') {
        $ex_qty += $v['quantity'];
    }
    $total_qty += $v['quantity'];
}
$pers = $ex_qty / $total_qty;

您仍然需要计算所需项目的数量。您需要使用
数量
键还是完全忽略它并只计算父元素?您仍然需要计算所需项目的数量。您需要使用
数量
键还是完全忽略它并只计算父元素?