2010-08-01 9 views
5

I {foreach} verwende innerhalb Smarty wie diese erhalte ich AntwortenVereinbaren Liste in reverse_array innerhalb von {foreach}

{foreach key=num item=reply from=$replies} 
//something goes here. 
{/foreach} 

Aktuell angeordnet wie ...

Ältere -> Alt -> Neu -> Neuere

ich sie in dieser Reihenfolge

anordnen möchten Neuere -> Neu -> Alt -> Alte

Wie erreicht man das?

Dank

Gelöst

Dank ts für diese

from=$replies|@array_reverse 

& Erforderlich folgende Smarty Plugin

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: */ 

?> 

Antwort

26

das wird das Problem lösen Deine Vorlage

SELECT ... FROM ... ORDER BY date DESC 
2

Check out array_reverse();)

wenn nicht, Sie einfach Daten auf ein neues Array setzen könnten (oder was auch immer Struktur, die Sie mit foreach verwenden) und array_pop() dann haben Sie es in der anderen Richtung;) stack

from=$replies|@array_reverse 
+0

meine php codiert ist also keine Änderungen mittels Reverse-Array machen .. – MANnDAaR

+0

Meine seccond Option wahrscheinlich die beste für Sie dann;) erste foreach verwenden und die Elemente in einer neuen Struktur setzt dann im Anschluss an eine LIFO verwenden eine neue foreach und drucke es einfach (oder benutze es, oder was auch immer: P);) – Saikios

0

Wenn Ihre Daten kommen aus einer Datenbank einfach verwenden, um eine ORDER BY Klausel anstatt einige Hack in yo: vs Warteschlange

Verwandte Themen