我有一个代码:
<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个会话变量?
答案 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']);