4 Mar 2011 1 commenti
Gli array sono il tipo di variabile la cui manipolazione risulta essere maggiormente ostica ma che, una volta acquisita una certa dimistichezza, si rivela uno strumento che ci verrà in aiuto in molti ambiti. Le operazioni che possono essere eseguite sugli array sono tantissime ma in questa sede ci concentreremo solo su alcune funzioni.
LA FUNZIONE COUNT()
La funzione count() prendendo come input un array ci darà come output il numero di elementi che compongono quell'array.
<?php $nomi = array("marco", "luca", "paolo"); $contare = count($nomi); //stamperà a video 3 echo $contare; ?>
LA FUNZIONE IMPLODE()
Tale funzione converte un array in una stringa che contiene i valori degli elementi che formano l'array.
La funzione implode prende due parametri: il primo è i/il carattere separatore e il secondo è l'array da convertire. Svolge la funzione inversa rispetto ad explode().
<?php $nomi = array('marco', 'franco', 'luca'); // stampiamo 'marco, luca, paolo' // cioè separaimo le stringhe che compongono l'array con una virgola e con uno spazio echo implode(', ', $nomi); ?>
LE FUNZIONI IN_ARRAY(), ARRAY_KEY_EXISTS(), ARRAY_SEARCH()
Tali funzioni servono per cercare valori o chiavi all'interno di un array. Esse si differenziano per il dato da cercare e il risultato che possono generare.
La funzione in_array cerca un valore all'interno dell'array per verificarne l'esistenza.
Essa prende due parametri: il primo è il valore cercato e il secondo è l'array in cui cercare. Restituisce un valore boleano (TRUE/FALSE), TRUE se viene trovato il valore.
La funzione array_key_exists() verifica l'esistenza di una chiave dell'array. Essa riceve due parametri: la chiave da cercare e l'array in cui cercare. Restituisce un valore boleano (TRUE/FALSE), TRUE se viene trovata la chiave.
Infine, la funzione array_search() cerca il valore all'interno dell'array restituendone la chiave, cioè verifica se esiste all'interno dell'array un elemento con una determinato valore e, a differenza di in_array (che restituisce un valore boleano), restituisce la chiave dell'elemento eventualmente individuato.
Essa prende due parametri: il valore da cercare e l'array in cui cercato. Se l'elemento non è stato trovato restituisce FALSE.
Facciamo degli esempi:
<?php // ESEMPIO 1: array con chiavi numeriche //array in cui si vuol cercare $nomi = array('luca', 'franco', 'paolo', 'marco'); $result1 = in_array('paolo', $nomi); // TRUE ('paolo' esiste in $nomi) $result2 = in_array('luigi', $nomi); // FALSE ('luigi' non esiste in $nomi) $result3 = array_key_exists(2, $nomi); // TRUE (verifica esistenza di $nomi[2] cioè 'paolo') $result4 = array_key_exists(5, $nomi); // FALSE ($nomi[5] non esiste) $result5 = array_search('marco', $nomi); // 3 (cioè $nomi[3] = 'marco') $result6 = array_search('peppe', $nomi); // FALSE ('peppe' non esiste in $nomi) // ESEMPIO 2: array con chiavi letterali $dati_utente = array( 'nome' => 'paolo', 'cognome' => 'bianchi', 'eta' => 25, 'nascita' => 'roma' ); $result7 = in_array('paolo', $dati_utente); //TRUE $result8 = array_key_exists('nascita', $dati_utente); //TRUE $result9 = array_search('bianchi', $dati_utente); // cognome ?>
LE FUNZIONI SORT(), RSORT(), ASORT(), ARSORT()
Queste funzioni servono per ordinare un array a una dimensione in base al valore degli elementi che lo compongono.
Esse prendono come unico parametro un array:
- sort(): ordina l'array in ordine crescente modificando l'associazione chiavi/valori;
- rsort(): ordina l'array in ordine decrescente modificando l'associazione chiavi/valori;
- asort(): ordina l'array in ordine crescente mantenendo l'associazione chiavi/valori;
- arsort(): ordina l'array in ordine decrescente mantenendo l'associazione chiavi/valori.
Tali funzioni sono prive di un return.
<?php $vocali = array('i', 'u', 'e', 'a', 'o'); sort($base); // nuovo ordine (a, e, i, o, u), $vocali[0] = a rsort($base); // nuovo ordine (a, e, i, o, u), $vocali[0] = i asort($base); // nuovo ordine (u, o, i, e, a), $vocali[0] = u arsort($base); // nuovo ordine (u, o, i, e, a), $vocali[0] = i ?>
Olimpio Romanella
Sono un appassionato di Web Developing con un particolare debole per php. Mi dedico principalmente dello sviluppo back-end ed in particolare programmazione lato server con php, sviluppo di database relazionali MySql e progettazione di CMS di piccole e medie dimensioni.
Mi avvalgo del framework javascript Jquery, utilizzando molti dei suoi plugin e nei dei miei progetti utilizzo spesso il framework MVC Codeigniter.
Riccardo
09 November 2012 ore 15:31
Ottimo Articolo ;)