El filtre |push
(a partir d’SPIP 2.0) s’aplica a una etiqueta que conté una matriu PHP (vegeu #ARRAY
) i afegeix un nou valor.
La clau s’incrementa d’1 a cada nou valor. Si no s’ha definit cap clau pel primer valor, la matriu s’indexa a partir de 0 (la primera clau és 0).
#SET{un_tableau,#ARRAY{5,une_valeur}}
#SET{un_tableau,#GET{un_tableau}|push{une_autre_valeur}}
#SET{un_tableau,#GET{un_tableau}|push{une_troisieme_valeur}}
[(#GET{un_tableau}|foreach)]
mostra:
- 5=> un_valor
- 6=> un_altre_valor
- 7=> un_tercer_valor
-
La primera clau és 5 ja que s’ha precisat durant la creació de la matriu (en el primer
#SET
).
Exemple usual d’ús de |push
:
#SET{mes_articles, #ARRAY}
<BOUCLE_mes_articles(ARTICLES){...}>
#SET{mes_articles, #GET{mes_articles}|push{#ID_ARTICLE}}
</BOUCLE_mes_articles>
Si els articles seleccionats pel BUCLE porten els números 2, 5 i 10, [(#GET{mes_articles}|foreach)]
retorna:
- 0=>2
- 1=>5
- 2=>10
Aquí, la primera clau és zero ja que no s’ha definit prèviament cap clau.
Al contrari de la [funció PHP array_push<code>->http://fr.php.net/manual/fr/function.array-push.php], <code>|push
no dóna cap missatge d’error si l’etiqueta filtrada no és una matriu.