gpt4 book ai didi

PHP - 从时间戳所在位置选择数据

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

我有一段代码,它将选择 future 的 x 天并将其打印出来。

然后我尝试从这些时间戳中选择数据,并相应地打印出来:

下面我选择 future 应该循环的天数 ($max) 以及有多少行/数据 ($data["cnt"])

    $stmt=$dbh->prepare("select round((expire - unix_timestamp()) / 86400) as days, count(*) as cnt from xeon_users_rented WHERE user_by=:username group by days;");
$stmt->bindParam(":username",$userdata['username']);
$stmt->execute();
$data=$stmt->fetchAll();
$max = max(array_map(function($d){
return $d['days'];
}, $data));

$expireData = array();

然后我循环遍历 future 的 x 天并将其打印出来:(假设 $x = 10)

for($x = 0; $x <= $max; $x++){
if ($data[$x]["cnt"] > 0){
$expireData[] = $data[$x]["cnt"];
}else{
$expireData[] = 0;
}

$stamp = strtotime('+'.$x.' day', time());
$expireDays[] = date("Y/m/d", $stamp);

}

然后我打印出日期数据和数据:

<?php echo implode("', '", $expireDays); ?>
<?php echo implode("', '", $expireData); ?>

这给了我:

'2014/11/05', '2014/11/06', '2014/11/07', '2014/11/08', '2014/11/09', '2014/11/10', '2014/11/11', '2014/11/12', '2014/11/13', '2014/11/14', '2014/11/15'

和(其中每个数字代表该特定日期的值)

2,8,0,0,0,0,0,0,0,0

到目前为止一切顺利。这里唯一的问题是数据(2,8,0,0 等)不正确。例如,它应该是:

0,0,2,0,0,0,8,0,0,0

我的问题是:如何打印与时间戳 (xeon_users_rented.expire) 匹配的数据?

最佳答案

简化我之前的回答并直接回答您的问题“如何打印与时间戳匹配的数据”?

您需要首先输入“strtotime('+'.$x.' day', time());”的unix时间戳到原始循环中的数组中。从该循环中删除 expiredays[] 内容。

然后循环遍历该数组,然后使用 array_search 查找 $data 数组中的任何匹配索引。

if (found in $data array)
$expireDays[] = $data[array_search position]['cnt'];
else
$expireDays[] = 0;

关于PHP - 从时间戳所在位置选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26753143/

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