欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP数组有关问题,

程序员文章站 2024-01-25 13:43:34
...
PHP数组问题,求助!
有这样一个数组:
$array = array (
0 =>
array (
'day' => '2014-3-11',
'count' => 4,
'day_0' => 3,
'day_1' => 1,
),
1 =>
array (
'day' => '2014-3-7',
'count' => 2,
'day_0' => 1,
),
2 =>
array (
'day' => '2014-3-6',
'count' => 4,
'day_4' => 1,
'day_5' => 1,
),
3 =>
array (
'day' => '2014-3-10',
'count' => 10,
'day_0' => 7,
'day_1' => 2,
'day_2' => 1,
),
);
日期间隔不固定,这里示例是2014-3-6 至2014-3-11,中间间隔五天,想通过对日期的排序和间隔的天数,得到如下数组:
PHP数组有关问题,

补充:
3月6日与3月11日相差5天,所以3月6日就有day_1、day_2、day_3、day_4、day_5
3月7日与3月11日相差4天,所以3月7日就有day_1、day_2、day_3、day_4
3月8日与3月11日相差3天,所以3月8日就有day_1、day_2、day_3
3月9日与3月11日相差2天,所以3月9日就有day_1、day_2
3月10日与3月11日相差1天,所以3月10日就有day_1
3月11日与3月11日相差0天,所以没有day_……
……依次类推,得出一个类似三角型的数组

请大家帮帮忙吧!!!感谢!
------解决方案--------------------
foreach($array as $v){
$days[]=date("Ymd",strtotime($v['day']));
$ar[date("Ymd",strtotime($v['day']))]=$v;
}
$arr= range(min($days),max($days));
$max = max($arr);
foreach($arr as $v){
$d = $max-$v;
if(isset($ar[$v])){
$tt[$v]['day']=$ar[$v]['day'];
$tt[$v]['count']=$ar[$v]['count'];
for($i=1;$i }else{
$tt[$v]['day']=date("Y-m-j",strtotime($v));
$tt[$v]['count']=0;
for($i=1;$i }
}
print_r(array_values($tt));
PHP数组有关问题,

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频