El filtro |push
(a partir de SPIP 2.0) se aplica a una baliza que contiene una array PHP (ver #ARRAY
) y le añade un nuevo valor.
La clave se incrementa en 1 con cada nuevo valor. Si no se ha definido ninguna clave para el primer valor, la array es indexada a partir de 0 (la primera clave es 0).
#SET{una_array,#ARRAY{5,un_valor}}
#SET{una_array,#GET{una_array}|push{otro_valor}}
#SET{una_array,#GET{una_array}|push{un_tercer_valor}}
[(#GET{una_array}|foreach)]
muestra:
- 5=> un_valor
- 6=> otro_valor
- 7=> un_tercer_valor
La primera clave es 5 porque así se ha precisado en el momento de la creación del array (en el primer #SET
).
Ejemplo corriente de utilización de |push
:
#SET{mis_articulos, #ARRAY}
<BOUCLE_mis_articulos(ARTICLES){...}>
#SET{mis_articulos, #GET{mis_articulos}|push{#ID_ARTICLE}}
</BOUCLE_mis_articulos>
Si los artículos seleccionados por el BUCLE llevan los números 2, 5 y 10, [(#GET{mis_articulos}|foreach)]
devuelve:
- 0=>2
- 1=>5
- 2=>10
Aquí, la primera clave es 0, ya que no se ha definido ninguna clave al principio.
Al contrario que la [función PHP array_push<code>->http://fr.php.net/manual/fr/function.array-push.php], <code>|push
no produce ningún mensaje de error si la baliza filtrada no es una array.