Ora vedremo qualcuna tra le funzioni più usate per gestire e manipolare gli array in PHP.
Descrizione : Crea un array
Restituisce un array contenente i parametri. Ai parametri si può dare un indice con l'operatore =>.
Nota: array() è un costrutto del linguaggio usato per rappresentare array letterali, e non una normale funzione.
La sintassi "indice => valori", separati da virgole, definisce indici e valori. indice può essere di tipo string o numerico. Quando l'indice è omesso, viene generato automaticamente un indice intero, a partire da 0. Se l'indice è un intero, il successivo indice generato sarà l'indice intero più grande + 1. Si noti che quando due indici identici vengono definiti, l'ultimo sovrascrive il primo.
Esempio di creazione di un array bidimensionale
$frutta = array (
"frutta" => array ("a"=>"arancia", "b"=>"banana", "c"=>"mela"),
"numeri" => array (1, 2, 3, 4, 5, 6),
"buche" => array ("prima", 5 => "seconda", "terza")
);
Descrizione : Ordina un array in ordine decrescente e mantiene le associazioni degli indici.
void arsort ( array array [, int sort_flags])
Questa funzione ordina un array in modo tale che i suoi indici mantengano la loro correlazione con gli elementi ai quali sono associati. Viene usata principalmente nell'ordinamento degli array associativi, quando la disposizione originaria degli elementi è importante.
Esempio:
$frutta = array ("d"=>"limone", "a"=>;"arancia", "b"=>"banana", "c"=>"mela");
arsort ($frutta);
reset ($frutta);
while (list ($chiave, $valore) = each ($frutta)) {
echo "$chiave = $valore\n";
}
questo frammento di script da come risultato
c = mela
d = limone
b = banana
a = arancia
I frutti sono ordinati in ordine alfabetico decrescente, e l'indice associato a ogni elemento è stato mantenuto.
È possibile modificare il comportamento dell'ordinamento usando il parametro opzionale sort_flags.
Descrizione : Ordina un array
void sort ( array array [, int sort_flags])
Questa funzione ordina un array. Gli elementi vengono disposti dal più piccolo al più grande.
Esempio:
<?php
$frutti = array ("limone", "arancia", "banana", "mela");
sort ($frutti);
reset ($frutti);
while (list ($chiave, $valore) = each ($frutti)) {
echo "frutti[".$chiave."] = ".$valore."\n";
}
?>
questo codice avrà come risultato:
frutti[0] = arancia
frutti[1] = banana
frutti[2] = limone
frutti[3] = mela
I frutti sono stati ordinati in ordine alfabetico.
Il secondo parametro opzionale sort_flags può essere usato per modificare il comportamento dell'ordinamento, usando i seguenti valori:
flag d'ordinamento:
SORT_STRING - compara gli elementi convertiti in stringa
Descrizione: Conta gli elementi in una variabile
int count ( mixed var)
Restituisce il numero di elementi in var, la quale è di norma un array (dal momento che qualsiasi altro oggetto avrà un elemento).
Se var non è un array, verrà restituito 1 (eccezione: count(NULL) restituisce 0).
Esempio
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
$risultato = count ($a);
//$risultato == 3
$b[0] = 7;
$b[5] = 9;
$b[10] = 11;
$risultato = count ($b);
// $risultato == 3;
Descrizione : Reimposta il puntatore interno di un array sulla posizione iniziale
mixed reset ( array array)
reset() riporta il puntatore di array sul primo elemento.
reset() restituisce il valore del primo elemento dell' array.
Descrizione : Restituisce l'elemento corrente di un array
mixed current ( array array)
Ogni array ha un puntatore interno all'elemento "corrente", che è inizializzato al primo elemento inserito nell' array.
La funzione current() restituisce l'elemento che è attualmente puntato dal puntatore interno. In ogni caso non muove il puntatore. Se il puntatore interno punta oltre la fine della lista di elementi, current() restituisce FALSE.
Descrizione: Sposta il puntatore interno dell' array all'ultimo elemento
mixed end ( array array)
end() fa avanzare il puntatore di array all'ultimo elemento, e restituisce l'elemento.
Esempio:
<?php
$frutti = array('mela','banana','mirtillo');
print end($frutti); // mirtillo
?>
Descrizione: Incrementa il puntatore interno dell' array
mixed next ( array array)
Restituisce l'elemento dell' array che sta nella posizione successiva a quella attuale indicata dal puntatore interno, oppure FALSE se non ci sono altri elementi.
next() si comporta come current() con una differenza. Incrementa il puntatore interno dell' array di una posizione, prima di restituire l'elemento. Ciò significa che restituisce l'elemento successivo e incrementa il puntatore di una posizione. Se l'incremento fa sì che il puntatore vada oltre la fine della lista di elementi, next() restituisce FALSE.
Descrizione: Decrementa il puntatore interno dell' array
mixed prev ( array array)
Restituisce l'elemento dell' array che sta nella posizione precedente a quella attuale indicata dal puntatore interno, oppure FALSE se non ci sono altri elementi.