SPIP

[ar] [ast] [bg] [br] [ca] [co] [cpf] [cs] [da] [de] [en] [eo] [es] [eu] [fa] [fon] [fr] [gl] [id] [it] [ja] [lb] [nl] [oc] [pl] [pt] [ro] [ru] [sk] [sv] [tr] [uk] [vi] [zh] Espace de traduction

Download

|push

14 februari

Alle versies van dit artikel:


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).

  1. #SET{een_tabel,#ARRAY{5,een_waarde}}
  2.  
  3. #SET{een_tabel,#GET{een_tabel}|push{nog_een_waarde}}
  4.  
  5. #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:

  1. #SET{mjn_art, #ARRAY}
  2. <BOUCLE_mijn_artikelen(ARTICLES){...}>
  3. #SET{mijn_art, #GET{mijn_art}|push{#ID_ARTICLE}}
  4. </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.


Het skelet van deze bladzijde zien Site gebouwd met SPIP | Vertaalruimte | Privé-site