簡體   English   中英

我如何使用php獲取每個年齡段的人數

[英]how can i get count of each age group using 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
$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);

我不確定我是否完全理解湯姆的問題。 嘗試這樣的事情。 這將返回一個數組,該數組具有作為組的鍵和作為滿足條件的次數的值。 我使用了第二個數組,或者您已經細分為子數組

$groups = [];
foreach($array as $subArray) {
  foreach ($subArray as $group) {
    if (isset($groups[$group])) {
      $groups[$group] += 1;
    } else {
      $groups[$group] = 1;
    }
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM