Met het filter |push kun je een waarde aan een tabel toevoegen. Het filter wordt dus toegepast op een baken dat een PHP tabel (zie #ARRAY) bevat en voegt er een nieuwe waarde aan toe.
De sleutel (key) wordt bij iedere nieuwe waarde met 1 verhoogd. Is nog geen enkele sleutel voor de tabel gebruikt, dan begint de indexering bij 0 (de eerste sleutel is 0).
#SET{een_tabel,#ARRAY{5,een_waarde}}
#SET{een_tabel,#GET{een_tabel}|push{nog_een_waarde}}
#SET{een_tabel,#GET{een_tabel}|push{volgende_waarde}}
[(#GET{een_tabel}|foreach)] geeft weer:
- 5=> een_waarde
 - 6=> nog_een_waarde
 - 7=> volgende_waarde
 
De eerste sleutelwaarde is hier 5 omdat deze bij het aanmaken van de array werd aangegeven (bij de eerste #SET).
Vaak gebruikte toepassing van |push:
#SET{mjn_art, #ARRAY}
<BOUCLE_mijn_artikelen(ARTICLES){...}>
#SET{mijn_art, #GET{mijn_art}|push{#ID_ARTICLE}}
</BOUCLE_mijn_artikelen>
Wanneer de door de lus geselecteerde artikelen de id’s  2, 5 en 10 hadden, zal [(#GET{mijn_art}|foreach)] weergeven:
- 0=>2
 - 1=>5
 - 2=>10
 
Hier is de eerste sleutelwaarde dus 0, omdat geen andere beginwaarde werd aangegeven.
In tegenstelling tot de PHP functie array_push genereert |push geen foutcode als het gefiltreerde baken geen array is.