gpt4 book ai didi

php - 在foreach循环PHP中输出一年中的每个月

转载 作者:可可西里 更新时间:2023-11-01 08:44:20 29 4
gpt4 key购买 nike

我有一个 mysql 查询,它在 foreach 循环中输出假期。例如。 2015 年 1 月 15 日史蒂文假期,3 月 12 日吉姆假期 2 月 20 日乔恩假期 2016 年 1 月 10 日乔恩假期等。如何列出一年中的所有月份,而不仅仅是假期预订的月份?

$monthx = array('January'=>null, 'Febuary'=>null, 'March'=>null, 'April'=>null, 'May'=>null, 
'June'=>null, 'July'=>null, 'August'=>null, 'September'=>null, 'October'=>null, 'November'=>null, 'December'=>null);
while ($row = mysqli_fetch_assoc($result)) {
$year = $row['year'];
$month = $row['month'];
$years[$year][$month][] = $row;
//print_r($something);
}

foreach($years as $year => $months) {
echo '<b>Year &nbsp;'.$year. '</b><br>';
foreach($months as $month => $items) {
echo '<b>Month &nbsp;'.$month. '</b><br>';
foreach($items as $item) {
echo $item['employee']. '&nbsp;-&nbsp;' .$item['startit'].'&nbsp;-&nbsp;'.$item['end'].'<br/>';
}}}

我的想法是创建一个包含所有月份的数组,然后将这个数组与包含所有来自 mysql 的数据的数组合并。我试过这个但没有成功。任何帮助都会很棒。

最佳答案

要列出所有月份,您只需运行一个 foreach 循环遍历所有月份。在这种情况下不需要合并:

$monthx = array('January', 'Febuary', 'March', 'April', 'May', 
'June', 'July', 'August', 'September', 'October', 'November', 'December');

while ($row = mysqli_fetch_assoc($result)) {
$year = $row['year'];
$month = $row['month'];
$years[$year][$month][] = $row;
//print_r($something);
}

foreach($years as $year => $months) {
echo '<b>Year &nbsp;'.$year. '</b><br>';

foreach ($monthx as $month) {
echo '<b>Month &nbsp;'.$month. '</b><br>';
if (isset($months[$month]))
{
foreach($months[$month] as $item) {
echo $item['employee']. '&nbsp;-&nbsp;' .$item['startit'].'&nbsp;-&nbsp;'.$item['end'].'<br/>';
}
}
}
}

关于php - 在foreach循环PHP中输出一年中的每个月,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32549375/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com