我正在使用{foreach}这样的聪明才智
{foreach key=num item=reply from=$replies}
//something goes here.
{/foreach}
目前我收到的答复如...
较旧 - >老 - >新 - >较新的
我想按此顺序排列
较新 - >新 - >老 - >旧版
如何实现这一目标?
感谢
解决
感谢ts
from=$replies|@array_reverse
&安培;需要使用smarty插件
modifier.reverse_array.php
<?php
/**
* Smarty plugin
* @package Smarty
* @subpackage plugins
*/
/**
* Smarty reverse_array modifier plugin
*
* Type: modifier<br>
* Name: reverse_array<br>
* Purpose: reverse arrays
* @author Noel McGran
* @param array
* @return array
*/
function smarty_modifier_reverse_array($array)
{
return array_reverse($array);
}
/* vim: set expandtab: */
?>
答案 0 :(得分:28)
这将解决问题:
from=$replies|@array_reverse
答案 1 :(得分:2)
查看array_reverse()
;)
如果没有,你可以简单地将数据放在一个新的数组(或者你正在使用的任何结构)上,使用foreach和array_pop()
,然后你以另一种方式获得它;)stack vs queue
答案 2 :(得分:0)
如果您的数据来自数据库,只需使用ORDER BY
子句而不是模板中的某些黑客。
SELECT ... FROM ... ORDER BY date DESC