首页 > 解决方案 > 我如何使用 php 获取每个年龄组的计数

问题描述

请检查:

Array
(
    [0] => 46-65
    [1] => 7-12|31-45
    [2] => 31-45
    [3] => 31-45
    [4] => 66+
    [5] => 18-30
    [6] => 46-65
    [7] => 13-17|46-65

在这里,我将字符串转换为数组,然后得到以下数组:

Array
(
    [0] => Array
        (
            [0] => 46-65
        )

    [1] => Array
        (
            [0] => 7-12
            [1] => 31-45
        )

    [2] => Array
        (
            [0] => 31-45
        )

    [3] => Array
        (
            [0] => 31-45
        )

    [4] => Array
        (
            [0] => 66+
        )

    [5] => Array
        (
            [0] => 18-30
        )

    [6] => Array
        (
            [0] => 46-65
        )

    [7] => Array
        (
            [0] => 13-17
            [1] => 46-65
        )

    [8] => Array
        (
            [0] => 31-45
        )

    [9] => Array
        (
            [0] => 31-45
        )

    [10] => Array
        (
            [0] => 31-45
        )

    [11] => Array
        (
            [0] => 18-30
        )

    [12] => Array
        (
            [0] => 
        )

    [13] => Array
        (
            [0] => 46-65
        )

    [14] => Array
        (
            [0] => 7-12
            [1] => 31-45
        )

    [15] => Array
        (
            [0] => 18-30
        )

    [16] => Array
        (
            [0] => 18-30
            [1] => 31-45
        )

    [17] => Array
        (
            [0] => 18-30
        )

    [18] => Array
        (
            [0] => 31-45
        )

    [19] => Array
        (
            [0] => 18-30
        )

    [20] => Array
        (
            [0] => 13-17
            [1] => 18-30
            [2] => 46-65
        )
}

我以字符串格式存储年龄组,因为每一行可以有多个年龄组。之后我转换成数组。我怎样才能得到每个年龄组的计数,例如 46-65 是 6 倍 18-30 是 8 倍。在这里我想计算每个年龄组

标签: php

解决方案


此代码应该适用于:

<?php
$selections = [/** your array here */];
$counted = [];

// Loop full list
foreach($selections as $selection) {

    // Loop age elements in list
    foreach ($selection as $age) {

        // If not already counted initialise age range
        if(!isset($counted[$age])) {
            $counted[$age] = 0;
        }

        // Increment age range
        $counted[$age]++;
    }
}

var_dump($counted);

推荐阅读