ArrayClear |
Efface le tableau |
|---|---|
| Lucee | |
Syntaxe
| ArrayClear( array=array ); |
Paramètres
| Nom | Description |
|---|---|
| array | Ce paramètre permet de spécifier le tableau dont tous les éléments doivent être supprimés. Après l'exécution de la fonction, le tableau est vidé mais il reste défini et peut être réutilisé pour entreposer de nouvelles valeurs. |
Description
Cette fonction permet de supprimer tous les éléments d'un tableau.
Remarques
- La fonction ArrayClear() est utilisée pour vider complètement un tableau, c'est-à-dire supprimer tous les éléments qu'il contient sans détruire la structure du tableau lui-même. Après l'exécution, la variable conserve son statut de tableau, mais sa longueur (ArrayLen()) devient zéro. Cela permet de réutiliser la même référence sans devoir la recréer.
- Contrairement à une réinitialisation totale (par exemple en assignant array = []), ArrayClear() préserve la référence mémoire du tableau existant. Cela signifie que si le tableau est référencé par d'autres variables ou passé par référence à une fonction, tous les liens pointent désormais vers un tableau vide.
- Cette fonction est très utile dans les scénarios où un tableau doit être réutilisé dans un même cycle d'exécution, comme dans des boucles ou des traitements itératifs. En vidant le tableau sans le recréer, elle permet d'économiser des ressources mémoire et du temps d'exécution, surtout dans les contextes de forte répétition.
- Il est important de noter que ArrayClear() ne supprime pas la variable du tableau elle-même. Le tableau reste défini et accessible après l'opération, ce qui évite les erreurs de type "variable non définie" lors des appels ultérieurs. Cela le distingue de la fonction StructDelete() ou d'une réaffectation manuelle à null.
- Si le tableau contient des objets complexes (par exemple, d'autres tableaux, structures ou composantes), ArrayClear() supprime uniquement les références vers ces objets, sans les détruire directement. En d'autres termes, les objets contenus peuvent encore exister ailleurs dans le code si d'autres références pointent vers eux.
- L'utilisation de ArrayClear() permet de maintenir un code plus clair et plus expressif lorsqu'il s'agit de réinitialiser des données temporaires. Plutôt que de redéfinir la variable, l'intention de "vider le contenu" est immédiatement visible, ce qui améliore la lisibilité et la compréhension du script.
- Cette fonction est particulièrement pertinente dans des environnements où la performance est critique, comme lors du traitement de gros ensembles de données ou de calculs en mémoire. En évitant la recréation d'objets, ArrayClear() peut réduire la fragmentation de la mémoire et les appels au ramasse-miettes (garbage collector).
- Une bonne pratique consiste à combiner ArrayClear() avec des fonctions telles que ArrayLen() ou IsArray() pour vérifier l'état du tableau avant et après l'effacement. Cela permet de s'assurer que le nettoyage s'est bien effectué et que le tableau reste valide pour de futurs traitements.
Exemple
Voici des exemples typiques d'utilisation de cette fonction :
- <cfscript>
- // Crée un tableau contenant 5 éléments avec les nombres 1 à 5.
- numbers = [ 1, 2, 3, 4, 5 ];
- dump( numbers ); // génère le tableau contenant 1 à 5
- // Efface le tableau en laissant un tableau avec 0 élément.
- ArrayClear( numbers );
- dump( numbers ); // génère le tableau vide
- </cfscript>
Dernière mise à jour : Jeudi, le 14 Août 2025