CF – listFind vs listContains

La differenza tra listContains (listContainsNoCase) e listFind (listFindNoCase) porta spesso a fare degli errori nei controlli, per poca attenzione alla loro differenza.

Puntualizziamo.

 

listFind

Permette di rintracciare la posizione del primo elemento di una lista che sia uguale all’elemento da noi ricerchiamo. Se per esempio cerchiamo Merlinox in una lista di nomi ltNomi, con delimitatore ";" facciamo:

 

<cfset i = listFind(ltNomi,"merlinox",";")>

 

listContains

A differenza della funzione precedente, restituisce sempre una posizione, ma non del primo elemento della lista uguale, ma del primo elemento della lista che contiene l’elemento da noi cercato.

Se la lista di nomi è "gino;pino;merlinox;ino;ugo" e noi cerchiamo Ino, otterremo indice 1, perchè "ino" come sottostringa è presente già nel primo elemento.

 

<cfset i = listContains(ltNomi,"Ino",";")>

 

Entrambe le funzioni hanno anche l’alternativa NoCase (listFindNoCase,listContainsNoCase) per la ricerca non sensibilie alle maiuscole/minuscole, non Case-Sensitive.

 

Ricordo un post di molto tempo fa in cui propongo la funzione arrayFind, non presente in CF nativo.

Loading Facebook Comments ...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *