2022-01-01/foo.sql, 2022-01-01/bar.sql, 2022-02-01/foo.sql, 2022-02-01/bar.sql
Das ist schnödes eindimensionales Array.
Das hab ich jetzt mal verwürfelt übernommen und als Liste von Listen ausgegeben:
<?php
$arr=[
'2022-01-01/foo.sql',
'2022-02-01/bar.sql',
'2022-01-01/bar.sql',
'2022-02-01/foo.sql'
];
sort( $arr );
### Wir brauchen das erste Verzeichnis:
list( $oldDir, $tmp ) = explode( '/', $arr[0] );
echo "
<ol>
<li>$oldDir
<ol>";
foreach ( $arr as $item ) {
list( $dir, $fileName ) = explode( '/', $item );
if ( $dir == $oldDir ) {
echo "
<li>$fileName</li>";
} else { ###Verzeichniswechsel
echo "
</li>
</li>
<li>$dir
<ol>
<li>$fileName</li>";
$oldDir = $dir; ### Nicht vergessen 😇
}
}
echo "
</ol>
</li>
</ol>";
Resultat:
<ol>
<li>2022-01-01
<ol>
<li>bar.sql</li>
<li>foo.sql</li>
</li>
</li>
<li>2022-02-01
<ol>
<li>bar.sql</li>
<li>foo.sql</li>
</ol>
</li>
</ol>