php - 通过键值从另一个数组生成数组
问题描述
嗨,我有一个包含日期和查看次数的数组,如果有的话,我想从最近 7 天的查看次数中获取
$view = array("31.01.2020"=>2,"02.02.2020"=>2,"05.02.2020"=>2,"06.02.2020"=>2);
如果今天是 2020 年 2 月 12 日,我想从这个数组中获取最后 7 天和一个月的数据,我将拥有这个数组一周
$week_array = array(
"05.02.2020"=>2,
"06.02.2020"=>2,
"07.02.2020"=>'',
"08.02.2020"=>'',
"09.02.2020"=>'',
"10.02.2020"=>'',
"11.02.2020"=>'',
"12.02.2020"=>''
);
如果我们需要得到月份,这个数组将是
$month_array = array(
"01.02.2020"=>'',
"02.02.2020"=>2,
"03.02.2020"=>'',
"04.02.2020"=>'',
"05.02.2020"=>2,
"06.02.2020"=>2,
...
"29.02.2020"=>'');
解决方案
您可以签array_key_exists
入$view
您的月份或周数组。
在这里,我分享过去 7 天的价值。
<?php
$view = array("31.01.2020"=>2,"12.03.2020"=>2,"09.03.2020"=>2,"07.03.2020"=>2);
$week_array = array();
for($i=7;$i>0;$i--){
$week_array[date('d.m.Y', strtotime('-'.$i.' days'))] = "";
}
foreach($week_array as $week_key=>$week_value){
if(array_key_exists($week_key,$view)){
$week_array[$week_key] =$view[$week_key];
}
}
print_r($week_array); exit;
?>
输出
Array
(
[07.03.2020] => 2
[08.03.2020] =>
[09.03.2020] => 2
[10.03.2020] =>
[11.03.2020] =>
[12.03.2020] => 2
[13.03.2020] =>
)
您可以对上个月或任何您想要的记录执行相同的操作。
希望这对您有所帮助。
推荐阅读
- node.js - Cpanel 中的角度 SSR 部署
- vue.js - 如何从Vue中动态添加的元素调用方法
- android - 使用列表视图选定项目设置布局 - Android
- reactjs - 将变量从 Stack 传递到 BottomTab 导航器
- amazon-web-services - 使用 Amazon EC2 的 Webhook
- typescript - 冰沙图表用电子 vuejs 显示为空
- javascript - 如何部分更新 MongoDB 中的字段,以便新字段将一些文本添加到现有记录
- parallel-processing - 如何将 numactl 与 slurm 一起使用?
- java - android(Rest Api)中每行中带有接受和拒绝请求按钮的列表视图
- c# - IdentityServer 4 使用用户名或电话号码登录