PHP – 按键值对多维数组进行分组

我目前有这个代码

$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>

感谢所有试图帮助我的人.

解决方法:

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']);
    }
}

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...