You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中如何将多维数组的数据从最后一条到第一条展示?

在PHP中倒序输出多维数组

嘿,作为刚接触数组的编程新手,倒序输出多维数组其实有几种简单的方法,我来给你一步步讲清楚~

方法1:使用array_reverse()反转数组

array_reverse()是PHP内置的函数,它可以直接返回一个顺序完全反转的新数组,然后你就可以用熟悉的foreach循环来遍历这个反转后的数组了。

这是修改后的完整代码:

<?php 
$trans = array ( 
    array("10/3/22", 1, 54), 
    array("10/48/32", 54, 54), 
    array("3/29/2018", 54, 128.84) 
); 

echo '<table border="1">'; 
echo '<tr><th>Date</th><th>Before Balance</th><th>After Balance</th></tr>'; 

// 生成反转后的数组,原数组不会被修改
$reversedTrans = array_reverse($trans);
foreach ($reversedTrans as $tran) { 
    echo '<tr>';
    // 遍历子数组中的每个数据,输出为表格单元格
    foreach ($tran as $cell) {
        // 用htmlspecialchars处理内容,避免特殊字符破坏表格结构
        echo '<td>' . htmlspecialchars($cell) . '</td>';
    }
    echo '</tr>';
} 
echo '</table>';
?>

小提示:

  • array_reverse()默认会重新给反转后的数组分配索引,如果需要保留原数组的键名,可以传入第二个参数true,比如array_reverse($trans, true),不过对于你的索引数组来说,默认情况就足够用啦。
  • 加入htmlspecialchars()是个好习惯,能避免数据里的特殊字符(比如<、>)打乱HTML结构,还能预防简单的XSS攻击。

方法2:通过索引倒序遍历(不创建新数组)

如果你不想额外创建一个反转后的数组,也可以直接通过索引从后往前遍历原数组:

<?php 
$trans = array ( 
    array("10/3/22", 1, 54), 
    array("10/48/32", 54, 54), 
    array("3/29/2018", 54, 128.84) 
); 

echo '<table border="1">'; 
echo '<tr><th>Date</th><th>Before Balance</th><th>After Balance</th></tr>'; 

// 获取数组的总元素个数
$totalItems = count($trans);
// 从最后一个元素的索引(总个数-1)开始,循环到第一个元素(索引0)
for ($i = $totalItems - 1; $i >= 0; $i--) {
    $tran = $trans[$i];
    echo '<tr>';
    foreach ($tran as $cell) {
        echo '<td>' . htmlspecialchars($cell) . '</td>';
    }
    echo '</tr>';
} 
echo '</table>';
?>

这种方法直接操作原数组的索引,不需要额外的内存来存储反转后的数组,适合处理比较大的数组时使用。


内容的提问来源于stack exchange,提问作者Mixxed Developer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:08:16