2010-08-01 10 views
5

estoy usando foreach {} dentro de Smarty como estolista en reverse_array dentro {foreach} Organizar

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

Actualmente estoy recibiendo respuestas dispuestas como ...

de edad avanzada -> Viejo -> nuevo -> reciente

Quiero disponerlas en este orden

reciente -> nuevo -> viejo -> Mayor

¿Cómo lograr esto?

Gracias

Resuelto

Gracias a ts para este

from=$replies|@array_reverse 

& Obligatorio siguientes plug-in 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: */ 

?> 

Respuesta

26

Esto va a resolver el problema:

from=$replies|@array_reverse 
2

Salida array_reverse();)

si no, simplemente podría poner los datos en una nueva matriz (o cualquier estructura que esté utilizando) con foreach y array_pop() entonces usted tiene que de la otra manera;) pila vs cola

+0

mi php se codifica Así que no se puede realizar ningún cambio utilizando matriz inversa .. – MANnDAaR

+0

Mi opción seccond probablemente el mejor para usted entonces;) utiliza primero foreach y poner los elementos en una nueva estructura siguiendo un LIFO a continuación, utilizar un nuevo foreach y simplemente imprimirlo (o usarlo, o lo que sea: P);) – Saikios

0

Si los datos proviene de una base de datos sólo tiene que utilizar una cláusula ORDER BY en lugar de algún artilugio en años tu plantilla

SELECT ... FROM ... ORDER BY date DESC 
Cuestiones relacionadas