gpt4 book ai didi

php - 如何像示例中那样在数组中显示 MySQL 数据?

转载 作者:行者123 更新时间:2023-11-29 07:17:32 24 4
gpt4 key购买 nike

我想使用 StackOverflow 上显示的解决方案 PHP Determine when multiple(n) datetime ranges overlap each other !为了使用它,我查询了 MySQL 的结果。在解决方案中,用户可以有多个日期条目。

到目前为止,我有一个数组,但它没有按添加日期的用户(命名的被邀请者)分组。

    while ($row = mysqli_fetch_assoc($result)) {

$arr[$row['invitee']];

$temp = array($row['start_time'], $row['end_time']);

$arr[] = $temp;
}

输出结果如下:

Array
(
[0] => Array
(
[0] => 2019-10-16 00:00:00
[1] => 2019-10-31 23:00:00
)

[1] => Array
(
[0] => 2019-10-17 12:12:00
[1] => 2019-10-18 20:40:00
)

[2] => Array
(
[0] => 2019-10-12 10:00:00
[1] => 2019-10-24 20:00:00
)
...

我期望或想要实现的是一个数组,如上面提到的帖子所示:

$availability = [
[
["2016-04-30 12:00", "2016-05-01 03:00"]
],
[
["2016-04-30 03:00", "2016-05-01 03:00"]
],
[
["2016-04-30 03:00", "2016-04-30 13:31"],
["2016-04-30 15:26", "2016-05-01 03:00"]
]
];

使用帖子中的解决方案。但是如何实现我的 MySQL 数据可以这样显示呢?

最佳答案

只需要修改 while 中的数组,如下所示:

while ($row = mysqli_fetch_assoc($result)) {
$temp = array(array($row['start_time'], $row['end_time']));
$arr[$row['invitee']] = $temp;
}

在这里添加另一个数组array(array($row['start_time'], $row['end_time']))

编辑:

<?php
$finalArray = array();
while ($row = mysqli_fetch_assoc($result)) {
$finalArray[$row['invitee']][] = array($row['start_time'], $row['end_time']);
}
?>

解释:

使用此代码,您可以获得针对每个用户的多个邀请。

关于php - 如何像示例中那样在数组中显示 MySQL 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58454021/

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