- Para
 #SET{matriz, #ARRAY{0,a,1,b,2,c,3,d}}
,
[(#GET{matriz}|foreach)]`
devolve:
- 0=> a
 - 1=> b
 - 2=> c
 - 3=> d
 
- Para
&tab[]=aa&tab[]=bb&tab[]=cc&tab[]=dd 
passado no URL,
[(#ENV{tab}|foreach)]
devolve:
- 0=> aa
 - 1=> bb
 - 2=> cc
 - 3=> dd
 
-  Se a tag à qual é aplicado o filtro |foreach for uma matriz linearizada (ver as funções PHP), é indispensável aplicar o filtro |unserialize após ter aplicado asterisco previamente:
por exemplo: [(#ENV*|unserialize|foreach)].
-  Pode-se forçar a utilização de outro modelo que não o foreach.html chamando: [(#GET{matriz}|foreach{meu_modelo})] onde meu_modelo.html é o modelo personalizado a usar e que tivemos a atenção de colocar em squelettes/modeles/.
- Exemplo: exibir a lista dos nomes de pligins ativos usados pelo site
O ficheiro de modelo modeles/lista_plug.html conterá:
[<li>(#ENV{valor}|strtolower)</li>]
e será chamado por:
 [<ul>(#PLUGIN*|unserialize|foreach{lista_plug})</ul>]
Substituição pelo loop DATA
O filtro foreach estando obsoleto após o SPIP 4.0, é aconselhável substituí-lo por outras formas de escrita, notadamente com o loop DATA.
O que se escrevia como
[(#LISTE{a,b,c,d}|foreach)]
pode-se escrever como:
<BOUCLE_lista(DATA){matriz fonte, #LISTE{a,b,c,d}}>
- #CLE => #VALEUR <br />
</BOUCLE_lista>