Vediamo ora alcune funzioni che operano sugli array:
count(array)- conta il numero di elementi dell'array. Restituisce un intero.
array_reverse(array [, booleano])- inverte l'ordine degli elementi dell'array. Se vogliamo mantenere le chiavi dell'array di input, dobbiamo passare il secondo parametro con valore TRUE. Restituisce l'array di input con gli elementi invertiti.
sort(array)- ordina gli elementi dell'array. Bisogna fare attenzione, perchè questa funzione, contrariamente a molte altre, modifica direttamente l'array che le viene passato in input, che quindi andrà perso nella sua composizione originale. I valori vengono disposti in ordine crescente secondo i criteri che abbiamo visto nella lezione 10. Le chiavi vanno perse: dopo il sort, l'array avrà chiavi numeriche a partire da 0 secondo il nuovo ordinamento. Non restituisce nulla.
rsort(array)- ordina gli elementi dell'array in ordine decrescente. Anche questa funzione modifica direttamente l'array passato in input e riassegna le chiavi numeriche a partire da 0. Non restituisce nulla.
asort(array)- funziona come
sort(), con la differenza che vengono mantenute le chiavi originarie degli elementi. Non restituisce nulla. arsort(array)- come
rsort(), ordina in modo decrescente; mantiene però le chiavi originarie. Non restituisce nulla. in_array(valore, array)- cerca il valore all'interno dell'array. Restituisce un valore booleano: vero o falso a seconda che il valore cercato sia presente o meno nell'array.
array_key_exists(valore, array)- cerca il valore fra le chiavi (e non fra i valori) dell'array. Restituisce un valore booleano.
array_search(valore, array)- cerca il valore nell'array e ne indica la chiave. Restituisce la chiave del valore trovato o, se la ricerca non va a buon fine, il valore FALSE.
array_merge(array, array [, array...])- fonde gli elementi di due o più array. Gli elementi con chiavi numeriche vengono accodati l'uno all'altro e le chiavi rinumerate. Le chiavi associative invece vengono mantenute, e nel caso vi siano più elementi nei diversi array con le stesse chiavi associative, l'ultimo sovrascrive i precedenti. Restituisce l'array risultante dalla fusione.
array_pop(array)- estrae l'ultimo elemento dell'array, che viene 'accorciato'. Restituisce l'elemento in fondo all'array e, contemporaneamente, modifica l'array in input togliendogli lo stesso elemento.
array_push(array, valore [,valore...])- accoda i valori indicati all'array. Equivale all'uso dell'istruzione di accodamento $array[]=$valore , con il vantaggio che ci permette di accodare più valori tutti in una volta. Restituisce il numero degli elementi dell'array dopo l'accodamento.
array_shift(array)- estrae un elemento come
array_pop(), ma in questo caso si tratta del primo. Anche in questo caso l'array viene 'accorciato', ed inoltre gli indici numerici vengono rinumerati. Rimangono invece invariati quelli associativi. Restituisce l'elemento estratto dall'array. array_unshift(array, valore [,valore...])- inserisce i valori indicati in testa all'array. Restituisce il numero degli elementi dell'array dopo l'inserimento.
implode(stringa, array)- è la funzione opposta di
explode(), e serve a riunire in un'unica stringa i valori dell'array. La stringa indicata come primo parametro viene interposta fra tutti gli elementi dell'array. Restituisce la stringa risultato dell'aggregazione. Suo sinonimo èjoin().
$arr = array('Luca', 'Giovanni', 'Matteo', 'Paolo', 'Antonio', 'Marco', 'Giuseppe');
$n = count($arr); // $n vale 7
$arr1 = array_reverse($arr); // $arr1 avrà gli elementi invertiti, da 'Giuseppe' a 'Luca'
echo $arr[1], '
'; // 'Giovanni'
echo $arr1[1], '
'; // 'Marco'
/* ora $arr sarà:
* 'Antonio', 'Giovanni', 'Giuseppe', 'Luca', 'Marco', ' Matteo', 'Paolo'
*/
sort($arr);
$a = in_array('Giovanni', $arr); // $a è vero (TRUE)
$a = in_array('Francesco', $arr); // $a è falso (FALSE)
$ultimo = array_pop($arr); // $ultimo è 'Paolo' (li avevamo ordinati!)
$ultimo = array_pop($arr); // ora $ultimo è 'Matteo', e in $arr sono rimasti 5 elementi
$primo = array_shift($arr); // primo è 'Antonio'
/* 'Matteo' e 'Antonio' vengono reinseriti in testa all'array;
* $a riceve il valore 6
*/
$a = array_unshift($arr, $ultimo, $primo);
$stringa = implode(' ', $arr); // $stringa diventa 'Matteo Antonio Giovanni Giuseppe Luca Marco' */
/* $new_arr conterrà 13 elementi:
* 'Matteo', 'Antonio', 'Giovanni',
* 'Giuseppe', 'Luca', 'Marco' (questi sono i 6 provenienti da $arr),
* 'Giuseppe', 'Marco',' Antonio', 'Paolo',
* 'Matteo', 'Giovanni', 'Luca' (questi sono i 7 di $arr1). Gli indici andranno da 0 a 12.
*/
$new_arr = array_merge($arr, $arr1);
// Impostiamo ora un array con chiavi associative:
$famiglia = array('padre' => 'Claudio', 'madre' => 'Paola', 'figlio' => 'Marco', 'figlia' => 'Elisa');
// creiamo una copia del nostro array per poter fare esperimenti
$fam1 = $famiglia;
// ora $fam1 sarà 'Paola', 'Marco', 'Elisa', 'Claudio', con chiavi da 0 a 3
rsort($fam1);
$fam1 = $famiglia; // ripristiniamo l'array originale
/* di nuovo $fam1 sarà 'Paola', 'Marco', 'Elisa', 'Claudio',
* ma ciascuno con la sua chiave originale
* ('madre', 'figlio', 'figlia', 'padre')
*/
arsort($fam1);
$a = array_key_exists('figlia', $fam1); // $a è TRUE
$a = array_key_exists('zio', $fam1); // $a è FALSE
$a = array_search('Claudio', $fam1); // $a è 'padre'
$a = array_search('Matteo', $fam1); // $a è FALSE



CercaSoluzione3

Postato sotto:




0 commenti:
Posta un commento
Proponi un'idea, segnalaci un problema.
Entra a far parte di CS3, pubblica i tuoi articoli.
Scrivi un commento!