寻求帮助来计算php数组中符合特定条件的元素,并让它们正确地显示在html表中。
我把这个数组命名为$Array
Array
(
[0] => Array
(
[fMonth] => 12
[fSnowDepth] => 0.2
)
[1] => Array
(
[fMonth] => 12
[fSnowDepth] => 3.7
)
[2] => Array
(
[fMonth] => 12
[fSnowDepth] => 1
)
[3] => Array
(
[fMonth] => 01
[fSnowDepth] => 1
)
[4] => Array
(
[fMonth] => 01
[fSnowDepth] => 0.5
)
[5] => Array
(
[fMonth] => 01
[fSnowDepth] => 4.5
)
[6] => Array
(
[fMonth] => 01
[fSnowDepth] => 1.3
)
)
我尝试做的是计算满足条件的月份,如fSnowDepth〉= 1和〈3,fSnowDepth〉= 3和〈5,等等,并放置在html表中。我期待这个与(空白)为月份没有计数:
| Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec
SD >=1 and < 3 | 2 | | | | | | | | | | | 1
SD >=3 and < 5 | 1 | | | | | | | | | | | 1
... etc depths | | | | | | | | | | | |
我的密码是:
$array = $result['rawSumSnowDepth'];
foreach ($array as $key => $items) {
if ($items['fSnowDepth'] >= 1 && $items['fSnowDepth'] < 3) {
$value = $items['fMonth'];
$output[$value] = ($output[$value] ?? 0) + 1;
for ($x = 0; $x <= 11; $x++) {
if ($x + 1 == $items['fMonth']) {
$result['snDaysOverAmt'][$x] = array($output[$value]);
} elseif (empty($result['snDaysOverAmt'][$x])) {
$result['snDaysOverAmt'][$x] = array($output[$value] => " ");
}
}
}
}
if (isset($result['snDaysOverAmt'])) {
foreach ($result['snDaysOverAmt'] as $amounts => $amount) {
if ($amount) {
echo '<td>' . implode($amount) . '</td>';
}
}
}
对于雪深〉= 1和〈3的第一行,这段代码的工作原理就像一个符咒,但是当我对下一行(〉= 3和〈5)再次运行这段代码时,我得到的结果似乎是第一行的两倍。
有没有其他的方法来做这个,这样我就可以包括不同的雪深计数和有没有更简洁的方法来做这个?我仍然是一个PHP新手,所以任何帮助将不胜感激。
1条答案
按热度按时间carvr3hs1#
感谢@Barmar,这就是我们所需要的:
$输出= [];
$结果[“天数超额"] = [];
这些数字放在上述问题所提供的法典的最后一个方括号之后。