作为MySQL的输出,我得到了一个这样的数组:
Array
(
[0] => Array
(
[name] => Date
[data] => Array
(
[0] => 2009-07-01
[1] => 2009-08-01
[2] => 2009-09-01
[3] => 2010-10-01
[4] => 2010-11-01
[5] => 2010-12-01
[6] => 2011-01-01
[7] => 2011-02-01
[8] => 2012-03-01
[9] => 2012-04-01
[10] => 2012-05-01
)
)
[1] => Array
(
[name] => Counts
[data] => Array
(
[0] => 13
[1] => 13
[2] => 15
[3] => 16
[4] => 17
[5] => 18
[6] => 19
[7] => 11
[8] => 14
[9] => 14
[10] => 15
)
)
)
为了进一步发展,我需要找到每年最高的日期。如何查找每年的最后日期并从'counts'数组中获取它的值。对于上面的代码,我想实现这样的目标:
Array
(
[0] => Array
(
[name] => Date
[data] => Array
(
[1] => 2009-09-01
[2] => 2010-12-01
[3] => 2011-02-01
[4] => 2012-05-01
)
)
[1] => Array
(
[name] => Counts
[data] => Array
(
[1] => 15
[2] => 18
[3] => 11
[4] => 15
)
)
答案 0 :(得分:0)
php具有最大功能。阅读它here它非常容易满足您的需求;
答案 1 :(得分:0)
$arr = array('... your array ...');
$date = array();
$count = array();
foreach ($arr[0]['data'] as $key => $value) {
$year = substr($value, 0, 4);
if (!$date[$year] || $date[$year] < $value) {
$date[$year] = $value;
$count[$year] = $arr[1]['data'][$key];
}
}
$date = array_values($date); //reset the keys
$count = array_values($count); //reset the keys
$res = array(
array(
'name'=>'Date',
'data'=>$date,
),
array(
'name'=>'Count',
'data'=>$count,
)
);
print_r($res);