gpt4 book ai didi

PHP MySQL 使用 array() 打印每月数据不起作用

转载 作者:行者123 更新时间:2023-11-29 11:25:54 25 4
gpt4 key购买 nike

我有使用 php 和 mysql 显示每月数据的代码:

$sql = "SELECT title,timestamp,id FROM ".NEWS." ORDER BY timestamp DESC";

$data = DataAccess::Fetch($sql);

$nav = array();

foreach ( $data as $news ) {
$month = date('F', $news['timestamp']);
$nav[$month][$news['id']] = $news['title'];
}

现在在 var_export($nav) 我的结果是 false:

array (
'July' =>
array (
277 => 'title1 for July 2016',
276 => 'title2 for July 2016',
275 => 'title3 for July 2016',
273 => 'title4 for July 2016',
272 => 'title5 for July 2016',
274 => 'title1 for July 2015',
264 => 'title2 for July 2015',
261 => 'title3 for July 2015',
),
'January' =>
array (
243 => 'title for January 2016',
242 => 'title for January 2015',
),
)

结果中,我看到 2016 年 7 月的 Marge 数据与 2015 年 7 月的数据,或者将 2016 年 1 月的数据与 2015 年 1 月合并。我需要将 2016 年 7 月的数据与 2015 年 7 月的数据以及 2016 年 1 月的数据与 2015 年 1 月的数据分开。如何解决问题?

最佳答案

您仅使用 MONTH $month = date('F', $news['timestamp']); 作为 $nav 数组的键。如果您不想将年份数据混合在一起,您还需要使用年份。

我建议可能是这样的

$nav = array();

foreach ( $data as $news ) {
$year = date('Y', $news['timestamp'] );
$month = date('F', $news['timestamp']);
$nav[$year][$month][$news['id']] = $news['title'];
}

或者也许

$nav = array();

foreach ( $data as $news ) {
$year = date('Y', $news['timestamp'] );
$month = date('F', $news['timestamp']);
$nav[$year . '-' . $month][$news['id']] = $news['title'];
}

关于PHP MySQL 使用 array() 打印每月数据不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38205935/

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