如何按降序打印会话变量?

时间:2012-01-09 09:48:16

标签: php

我有一个代码:

<table>
                <?php
                if(isset($_SESSION['cart']))
                foreach($_SESSION['cart'] as $key => $item){
                ?>
                    <tr>
                        <td><?php echo $item['num'] ?></td>
                        <td><?php echo $item['name'] ?></td>
                        <td>
                            <img class="cart_remove" src="images/x.png" alt="" /><span class="item_index"><?php echo $key ?></span>
                        </td>
                    </tr>
                <?php } ?>
            </table>

它打印会话变量,如:

1 name1
2 name2
3 name3
4 name4

但我需要先打印最新的增值。像:

4 name4
3 name3
2 name2
1 name1

那么,我如何按降序打印会话变量?而且,是否可以打印最新的3个会话变量?

3 个答案:

答案 0 :(得分:2)

foreach(array_reverse($_SESSION['cart'], true) as $key => $item) {
    //...
}

答案 1 :(得分:2)

反转元素顺序:

krsort($_SESSION['cart']);

如果您想要专门打印$_SESSION['cart']中的最后3个条目 - 您可以执行以下操作:

$i = 0;
foreach ($_SESSION['cart'] as $key => $value)
{
    // do your other stuff here
    if (++$i === 3) break;
}

答案 2 :(得分:1)

http://www.php.net/manual/en/function.array-reverse.php

if(isset($_SESSION['cart']))
    $_SESSION['cart'] = array_reverse($_SESSION['cart']);