对不起我的英语,我不知道我的问题是否正确。
我有一个数组:
Array
(
[0] => Array
(
[date] => 2013-01-22
[id] => 1
[views] => 33286
)
[1] => Array
(
[date] => 2013-01-23
[id] => 1
[views] => 33223
)
[2] => Array
(
[date] => 2013-01-22
[id] => 2
[views] => 33223
)
[3] => Array
(
[date] => 2013-01-23
[id] => 2
[views] => 33223
)
)
如你所见,id 1& 2有2天的视图:22-01-2013和23-01-2013,所以我的问题是如何打印它们:
id 22-01-2013 23-01-2013
1 33286 33223
2 33223 33223
感谢您的帮助!
答案 0 :(得分:2)
我怀疑你的最终目标是写出一个价值表。但如果是的话,这里有一些代码可以做到。
<?php
$a = array(
array('date'=>'2013-01-22', 'id'=>1, 'views'=>33286),
array('date'=>'2013-01-23', 'id'=>1, 'views'=>33223),
array('date'=>'2013-01-22', 'id'=>2, 'views'=>33223),
array('date'=>'2013-01-23', 'id'=>2, 'views'=>33223),
);
$table = array();
$cols = array();
foreach ($a as $item)
{
$date = date('d-m-Y', strtotime($item['date']));
$table[$item['id']][$date] = $item['views'];
$cols[$date] = 1;
}
$cols = array_keys($cols);
header('Content-type: text/plain');
echo("id\t" . implode("\t", $cols) . "\r");
foreach ($table as $rowName=>$row)
{
echo("$rowName\t");
foreach ($cols as $colName)
{
echo(@$row[$colName] . "\t");
}
echo("\r");
}
P.S。您知道,Stack Overflow并不是我们为您编写代码的地方。我只是想写代码: - )
P.P.S。对于真正的PHP专家,我很想知道应该对这段代码进行哪些优化: - )
答案 1 :(得分:0)
See the manual关于格式化日期。
foreach ($yourarray as $key => $value){
$yourarray[$key]['date'] = date("d-m-Y",strtotime($value['date']));
}
我原以为你不介意覆盖其他格式。