Christian Castelli
a- a+

Liste ed array (Parte II)

LISTE ED ARRAY PARTE 2

Funzioni per la gestione degli array

Al pari delle liste, ColdFusion fornisce molte funzioni integrate per lavorare con gli array. La lista sottostante indica quelle più comunemente usate:

  • ArrayNew(): crea un array;
  • ArrayLen(): determina il numero di elementi di un array;
  • IsArray(): ritorna true se il valore è presente nell'array, altrimenti false;
  • ArrayIsEmpty(): ritorna true se l'array non contiene alcun elemento;
  • ArraySort(): ordina gli elementi di un array secondo un certo tipo di ordinamento;
  • ArrayAppend(): aggiunge un elemento alla fine di un array;
  • ArrayPrepend(): aggiunge un elemento all'inizio di un array;
  • ArrayInsertAt(): inserisce un valore all'interno di un array. Gli elementi dell'array i cui indici sono maggiori rispetto alla nuova posizione vengono incrementati di uno. La dimensione dell'array viene incrementata di uno;
  • ArrayDeleteAt(): cancella un elemento da un array;
  • ArrayClear(): cancella tutti gli elementi da un array;
  • ArrayMin(): ritorna il valore numerico più piccolo presente in un array;
  • ArrayMax(): ritorna il valore numerico più grande presente in un array;
  • ArrayAvg():calcola la media dei valori presenti nell'array;
  • ArraySum(): calcola la somma totale dei valori presenti nell'array;
  • ArrayResize(): ritorna il primo elemento dell'array;
  • ArrayToList(): converte un array monodimensionale in una lista;
  • ListToArray(): converte una lista in un array monodimensionale.


Array bidimensionali

ColdFusion supporta gli array bidimensionali, che sono simili alle tabelle o alle griglie. Potete pensare all'array più esterno come quello che contiene le righe mentre all'array interno a quello che contiene i dati in quelle righe. Per esempio, un array bidimensionale denominato rockbands potrebbe contenere i nomi dei gruppi musicali e alcune delle canzoni che suonano. Qui sotto c'è una tabella che rappresenta tale array bidimensionale:

Band

Canzone 1

Canzone 2

Canzone 3

Beatles Love Me Do Hey Jude Helter Skelter
Rolling Stones Waiting on a Friend Angie Yesterday's Papers
Eagles Life in the Fast Lane Hotel California Best of My Love

Il codice seguente mostra come creare tale array bidimensionale. Si noti che l'header della tabella vista prima non viene inclusa.

Es.1: Arrays-2Dim-create.cfm

<html>
  <head>
  <title>Gruppi musicali</title>
  </head>
    <body>
  <h1>Gruppi musicali</h1>
  <cfset rockbands=ArrayNew(2)>
  <cfset rockbands[1][1]="Beatles">
  <cfset rockbands[1][2]="Love Me Do">
  <cfset rockbands[1][3]="Hey Jude">
  <cfset rockbands[1][4]="Helter Skelter">
    <cfset rockbands[2][1]="Rolling Stones">
  <cfset rockbands[2][2]="Waiting on a Friend">
  <cfset rockbands[2][3]="Angie">
  <cfset rockbands[2][4]="Yesterday's Papers">
    <cfset rockbands[3][1]="Eagles">
  <cfset rockbands[3][2]="Life in the Fast Lane">
  <cfset rockbands[3][3]="Hotel California">
  <cfset rockbands[3][4]="Best of My Love">
  </body>
</html>

 

<a href="/img/22/iframe_CF_listArray3.html" title= "Vedi esempio">Vedi codice</a>;

 

Per leggere un elemento da un array bidimensionale, si deve prima di tutto identificare l'indice rappresentante la riga e poi identificare l'indice rappresentante la colonna dell'elemento. Ad esempio, la canzone "Angie" è presente alla riga 2 nella colonna 3, quindi viene identificata come rockbands[2][3].

Per scorrere un array bidimensionale, si deve innestare un ciclo dentro un altro ciclo. Il seguente codice creerà una tabella a partire da un array bidimensionale.

Es.2: Arrays-2Dim-read.cfm

---- Codice omesso ----
 <table border="1">
   <cfloop from="1" to="#ArrayLen(rockbands)#" index="i">
   <tr>
    <cfoutput>
    <cfloop from="1" to="#ArrayLen(rockbands[i])#" index="j">
     <td>#rockbands[i][j]#</td>
    </cfloop>
    </cfoutput>
   </tr>
   </cfloop>
  </table>
  </body>  
</html>

 

<a href="/img/22/iframe_CF_listArray4.html" title= "Vedi esempio">Vedi codice</a>;

 

Conclusioni

Le liste e gli array possono essere molto utili per lavorare con set di dati. In molti casi, gli array sono molto più efficienti delle liste poiché una lista non è un tipo predefinito ma deve essere creato e interpretato da ColdFusion a runtime. Per cui, a meno che i dati non siano già contenuti in una lista, è buona pratica usare gli array.



Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Staff
Ti interessano altri articoli su questo argomento?
Chiedi alla nostra Redazione!