|push

|push permet d’ajouter une valeur à la fin d’un tableau.

Le filtre |push (depuis SPIP 2.0) s’applique à une balise contenant un tableau PHP (voir #ARRAY) et y ajoute une nouvelle valeur.

La clé est incrémentée de 1 à chaque nouvelle valeur. Si aucune clé n’a été définie pour la première valeur, le tableau est indexé à partir de 0 (la première clé est 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)] affiche :

  • 5=> une_valeur
  • 6=> une_autre_valeur
  • 7=> une_troisieme_valeur

La première clé est 5 parce qu’elle a été précisée lors de la création du tableau (premier #SET).

Exemple courant d’usage de |push :

#SET{mes_articles, #ARRAY}
<BOUCLE_mes_articles(ARTICLES){...}>
#SET{mes_articles, #GET{mes_articles}|push{#ID_ARTICLE}}
</BOUCLE_mes_articles>

Si les articles sélectionnés par la BOUCLE portent les numéros 2, 5 et 10, [(#GET{mes_articles}|foreach)] retourne :

  • 0=>2
  • 1=>5
  • 2=>10

Ici, la première clé est zéro car aucune clé n’a été définie préalablement.

Contrairement à la fonction PHP array_push, |push ne produit pas de message d’erreur si la balise filtrée n’est pas un tableau.

Auteur Aurélie Publié le : Mis à jour : 21/05/15

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