[SPIP] PUBLIE : |push

SPIP

Article validé

L’article « |push » vient d’être publié par Ricardo Porto.


|push

quinta-feira 6 de Março de 2025, por Ricardo Porto

|push permite incluir um valor ao final de uma matriz.

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.

— Enviado por SPIP