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.