我目前有这段代码:
$files = glob('songs/*.{mp3}', GLOB_BRACE);
$dateUploaded = array();
foreach($files as $file){
$path_parts = pathinfo($file);
$dateUploaded[] = array("Date Uploaded" => date ("jS \of F, Y", filemtime($file)), "File Name" => $path_parts['filename']);
}
print_r($dateUploaded);
哪个输出
Array (
[0] => Array (
[Date Uploaded] => 26th of February, 2013
[File Name] => All That Glitters - This Sound (Felix Cartal Remix)
)
[1] => Array (
[Date Uploaded] => 26th of February, 2013
[File Name] => Bertie Blackman - Hide and Seek
)
[2] => Array (
[Date Uploaded] => 18th of December, 2012
[File Name] => Birds of Tokyo - This Fire
)
[3] => Array (
[Date Uploaded] => 18th of December, 2012
[File Name] => Bloc Party - Truth
)
[4] => Array (
[Date Uploaded] => 18th of December, 2012
[File Name] => C2C - Down the Road
)
[5] => Array (
[Date Uploaded] => 18th of December, 2012
[File Name] => Chance Waters - Young and Dumb feat Bertie Blackman
)
[6] => Array (
[Date Uploaded] => 26th of February, 2013
[File Name] => City Calm Down - Sense of Self
)
[7] => Array (
[Date Uploaded] => 18th of December, 2012
[File Name] => Clubfeet - Heartbreak
)
[8] => Array (
[Date Uploaded] => 26th of February, 2013
[File Name] => Cosmo Jarvis - My Own Thing
)
[9] => Array (
[Date Uploaded] => 6th of June, 2013
[File Name] => Courtney Barnett - History Eraser
)
[10] => Array (
[Date Uploaded] => 6th of June, 2013
[File Name] => Delphic - Baiya
)
)
我想要做的是通过“Date Uploaded”键对它们进行分组。所以我有类似的东西:
Array (
[26th of February, 2013] => Array (
[0] All That Glitters - This Sound (Felix Cartal Remix)
[1] Bertie Blackman - Hide and Seek
[2] City Calm Down - Sense of Self
[3] Cosmo Jarvis - My Own Thing
)
[18th of December, 2012] => Array (
[0] Birds of Tokyo - This Fire
[1] Bloc Party - Truth
[2] C2C - Down the Road
[3] Chance Waters - Young and Dumb feat Bertie Blackman
[4] Clubfeet - Heartbreak
)
[6th of June, 2013] => Array (
[0] Courtney Barnett - History Eraser
[1] Delphic - Baiya
)
)
请问有人可以帮我解决一下这个问题吗?
我想要实现的主要目标是能够将文件放在我的服务器上的文件夹中并打印出我的脚本,形式为<ul>
,按日期分组的歌曲
即
<ul>
Last Updated: 26th of February, 2013
<li>All That Glitters - This Sound (Felix Cartal Remix)</li>
<li>Bertie Blackman - Hide and Seek</li>
<li>City Calm Down - Sense of Self</li>
<li>Cosmo Jarvis - My Own Thing</li>
</ul>
<ul>
Last Updated: 18th of December, 2012
<li>Birds of Tokyo - This Fire</li>
<li>Bloc Party - Truth</li>
<li>C2C - Down the Road</li>
<li>Chance Waters - Young and Dumb feat Bertie Blackman</li>
<li>Clubfeet - Heartbreak</li>
</ul>
<ul>
Last Updated: 6th of June, 2013
<li>Courtney Barnett - History Eraser</li>
<li>Delphic - Baiya</li>
</ul>
感谢所有试图帮助我的人。
答案 0 :(得分:7)
foreach($files as $file){
$path_parts = pathinfo($file);
$date = date ("jS \of F, Y", filemtime($file));
if(isset($dateUploaded[$date])) {
$dateUploaded[$date][] = $path_parts['filename'];
} else {
$dateUploaded[$date] = array($path_parts['filename']);
}
}
答案 1 :(得分:0)
分组
$groups = array();
foreach ($dateUploaded as $du) {
$key = $du['Date Uploaded'];
if (!isset($groups[$key])) $groups[$key] = array();
$groups[$key][] = $du['File Name'];
}
输出为列表
$ret = '';
foreach ($groups as $key=>$list)
$ret.="<ul>\n".$key."<li>".implode("</li>\n<li>",$list)."</li></ul>";
答案 2 :(得分:0)
快速代码:
$arr = array();
foreach ($files as $file) {
$date = $file['Date Uploaded'];
$name = $file['File Name'];
$arr[$date][] = $name;
}
答案 3 :(得分:0)
这也应该有效:
$newArray = array();
foreach($dateUploaded as $row)
{
$newArray[$row['Date Uploaded']][] = $row['File Name']
}
print_r($newArray);