**SPIP**
# Article proposé
L’article "**La boucle DATA**
(SPIP)" est proposé
à la publication depuis le mardi 27 février 2018.
* * *
## La boucle DATA
mardi 27 février 2018 , par [BoOz](.././?page=auteur&id_auteur=1524&)
La boucle DATA est capable d’itérer sur un jeu de donnée `data` de type
`source`.
Sa syntaxe de base est la suivante :
``<BOUCLE_afficher(DATA){source `source`,`data`}> <br />
[(#CLE)] - [(#VALEUR|print_r{1})] <br />
</BOUCLE_afficher>``
SPIP connait par défaut les types de données `source` suivant :
- Tableau ou objet php : `table|tableau`
- Emplacement des fichiers locaux : `ls|preg_files`
- Contenu des fichiers locaux : `file|csv|json|...`
- Commandes : `sql|liste|...`
On peut ajouter facilement un type de donnée `ma_source` en créant un
fichier `inc/ma_source_to_array.php`
`<?php<br />
function inc_ma_source_to_array_dist($data,$param1='',$param2=''){<br />
// $data contient le {{contenu}} du fichier (local | distant) ou bien
la valeur de la variable passée dans le critère.<br />
// $param1, $param2... sont des paramètres facultatifs<br />
if($data == "test")<br />
$data = array(<br />
array("couleur"=>"vert"),<br />
array("couleur"=>"bleu"),<br />
) ;<br />
return $data ;<br />
}`
`<BOUCLE_exemple(DATA){source ma_source,test}{"<br>"}><br />
#COULEUR<br />
</BOUCLE_exemple>`
Résultat :
vert
bleu
**À noter :** `#VALEUR` étant un tableau, on peut accéder à
`#VALEUR{couleur}` qui est équivalent à `#COULEUR`
**Bon à savoir :** Le résultat d’une boucle DATA est enregistré en
cache. On peut désactiver ce comportement avec le critère `{datacache 0}`
Un chapitre complet détaille l’usage des boucle DATA et propose des
exemples d’usage : Les itérateurs de SPIP - la boucle (DATA)
(SPIP).
— Envoyé par SPIP (https://www.spip.net/)
![]()
![]()