|push

  • Apparu en : SPIP 2.0

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.

Auteur Hanjo Gepubliceerd op: Aangepast: 21/03/23

Vertalingen: català, English, Español, français, Nederlands