。阵列,总和值相同PHP的
问题描述:
我有这样的阵列(更多更长的 - 唯一部分)。阵列,总和值相同PHP的
[366] => Array
(
[0] => 8
[1] => 7
[2] => 8
[3] => 9
[4] => 8
)
[367] => Array
(
[0] => 8
[1] => 9
[2] => 9
[3] => 10
[4] => 10
[5] => 9
[6] => 8
[7] => 9
[8] => 10
[9] => 10
[10] => 11
[11] => 10
[12] => 11
[13] => 11
[14] => 10
[15] => 9
[16] => 10
[17] => 8
[18] => 10
)
的密钥必须保持(有一个ID)。我想总结foreach的值(在这个例子中,值是几代人)。因此,第8代是数3倍的366
预计于ID 366:7 - 1,8 - 3倍,9 - 1x或
[366] => Array
(
[7] => 1
[8] => 3
[9] => 1
)
[367] => Array
(
[8] => 3
[9] => 5
[10] => 8
[11] => 3
)
的每一个建议是欢迎和赞赏!
I'm始终停止使用数字键或在foreach ...尝试代码从来就一个:
$outdams = array();
foreach ($dams as $key => $value) {
foreach ($value as $key2 => $value2) {
$index = $value2;
if (array_key_exists($index, $outdams)) {
$outdams[$index]++;
} else {
$outdams[$index] = 1;
}
}
}
答
检查这个代码
<?php
$data = array(366=>array(8,7,8,8,9),
367=>array(8,9,13,14,17,14));
echo "<pre>"; print_r($data);
$response = array();
foreach ($data as $outerkey => $outerData){
foreach ($outerData as $innerkey => $innerData){
//echo "<pre>"; print_r($innerData);
if(array_key_exists($innerData, $response[$outerkey])){
$response[$outerkey][$innerData] ++;
}else{
$response[$outerkey][$innerData] = 1;
}
}
}
echo "<pre>"; print_r($response);
?>
+0
作品完美,谢谢! – Shakki
你能告诉我们你的”以前试过吗? – Veve
纳入问题 – Shakki