O filtro |push aplica-se a uma matriz PHP (ver #ARRAY) para incluir-lhe um novo valor.
A chave é incrementada por 1 a cada novo valor. Se nenhuma chave for definida pelo primeiro valor, a matriz é indexada a partir de 0 (a primeira chave é 0).
#SET{Uma_matriz,#ARRAY{5,um_valor}}
#SET{Uma_matriz,#GET{Uma_matriz}|push{um_outro_valor}}
#SET{Uma_matriz,#GET{Uma_matriz}|push{um_terceiro_valor}}
[(#GET{Uma_matriz}|foreach)] exibe:
- 5=> um_valor
 - 6=> um_outro_valor
 - 7=> um_terceiro_valor
 
A primeira chave é 5 porque ela foi especificada na criação da matriz (primeiro #SET).
Exemplo corrente de uso de |push:
#SET{minhas_materias, #ARRAY}
<BOUCLE_minhas_materias(ARTICLES){...}>
#SET{minhas_materias, #GET{minhas_materias}|push{#ID_ARTICLE}}
</BOUCLE_minhas_materias>
Se as matérias selecionadas pelo BOUCLE tiverem os números 2, 5 e 10, [(#GET{minhas_materias}|foreach)] retorna:
- 0=>2
 - 1=>5
 - 2=>10
 
Aqui, a primeira chave é zero pois nenhuma chave foi definida previamente.
Contrariamente à função PHP array_push, |push não produz mensagem de erro se a tag filtrada não for uma matriz.