[英]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.