在以一个值循环并将另一个值以子阵列值推向组中时组合数据

问题描述 投票:0回答:4

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

我试图通过“上传日期”键进行对这些操作。所以我有类似于此的东西:

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

我试图实现的主要目标是能够将文件放在服务器上的文件夹中,并以form a the a the thate comploaded aptroaded of the the the the Form of脚本打印出来。
I.E.

<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>
    
php arrays multidimensional-array grouping sub-array
4个回答
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']);
    }
}

0
投票

$groups = array(); foreach ($dateUploaded as $du) { $key = $du['Date Uploaded']; if (!isset($groups[$key])) $groups[$key] = array(); $groups[$key][] = $du['File Name']; }


Quick代码:

$ret = '';
foreach ($groups as $key=>$list)
  $ret.="<ul>\n".$key."<li>".implode("</li>\n<li>",$list)."</li></ul>";

0
投票

这也应该有效:

$arr = array();
foreach ($files as $file) {
  $date = $file['Date Uploaded'];
  $name = $file['File Name'];

  $arr[$date][] = $name;
}

0
投票

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.