php - 如何在PHP中对数组中返回的项目进行分组
问题描述
我需要列出目录中的所有 PDF 文件并链接到它们。我这样做:
//get the list and sort it
<?php
$dirpath = "Files/PDFs/";
$files = array();
$files = glob($dirpath . "*");
// sort files by last modified date
usort($files, function($x, $y) {
return filemtime($x) < filemtime($y);
});
?>
//display them like this
<ul>
<?php
foreach($files as $item){
echo "<li><a href='$item'>" . basename($item) . " Updated On " . @date('F d, Y, H:i:s', filemtime($item)) . "</a></li>";
} ?>
</ul>
这给了我这样的东西:
<li><a href="/pat/to/pdf">File.pdf Updated On August 13, 2021, 16:43:49</a></li>
这是我需要的一部分。
我想为“左、中、右”的每个项目添加一个类,这样我就可以将它们分配给一个 CSS 网格列。因此,如果返回 10 件商品:
Left Mid Right
1 2 3
4 5 6
7 8 9
10
有没有更好的方法让这些布局在网格列或表格中?
解决方案
这是您想要的直接答案:
<?php
foreach($files as $index => $item){
echo "<li class='". ($index % 3 == 0 ? "left-class" : ($index % 3 == 1 ? "middle-class" : "right-class")) ."'>
<a href='$item'>" . basename($item) . " Updated On " . @date('F d, Y, H:i:s', filemtime($item)) . "</a>
</li>";
}
?>
但是使用弹性盒子或网格系统有更好的方法。看看这个。
然后你可以做这样的事情:
<div class="row">
<?php
foreach($files as $item){
echo "<div class='col-4'><a href='$item'>" . basename($item) . " Updated On " . @date('F d, Y, H:i:s', filemtime($item)) . "</a></div>";
} ?>
</div >
推荐阅读
- xamarin.forms - Xamarin 表单绑定 IEnumerable 本地化
- mysql - 如何在mysql中的多对多关系中获取单个ID
- java - Keyguard manager如何删除取消按钮
- javascript - Jquery 代码不适用于移动设备(Android)
- elasticsearch - Kibana 未在“发现”选项卡中显示结果
- python - 创建具有随机整数的 numpy 数组,每行具有另一个范围
- facebook-graph-api - Instagram API 弃用和切换到 Graph API
- logging - nlog .netcore 关闭 microsoft INFO 级别的日志记录
- php - 在sql php中自动生成id
- apache - 来自 RewriteCond 和 RewriteRule 的 htaccess 模式匹配