Usare gli array puo' essere interessante quando devi manipolare un numero di dati sconosciuto a priori.
Ti faccio un esempio stupido. Prendi una parola e conta quante volte appare una singola lettera.
Ad esempio in badaze c'è una b, 2 a, etc..
facciamolo senza array
codice:
assumo che $carA, $carB sono delle variabili globali
function conta($unaParola) {
//-------- Inizializzo tutte le mie variabili per la conta delle lettere
// 26 righe
$carA = 0;
$carB = 0;
$carC = 0;
$carD = 0;
..
$carZ = 0;
$lunghezza = strlen($unaParola);
for ($i=0;$i<$lunghezza;$i++) {
$car = substr($unaParola,$i,1);
//--------- 26 tests
if ($car == 'a') {
$carA++;
}
if ($car == 'b') {
$carB++;
}
if ($car == 'c') {
$carC++;
}
if ($car == 'd') {
$carD++;
}
...
if ($car == 'z') {
$carZ++;
}
}
}
.... visualizzazione :
conta("badaze");
print "a appare $carA volte
";
print "b appare $carB volte
";
print "c appare $carC volte
";
print "d appare $carD volte
";
...
print "z appare $carZ volte
";
facciamolo con un array
codice:
function conta($unaParola) {
//-------- Inizializzo
$conta = array();
$alfabeto = "abcdefghijklmnopqrstuvwxyz";
for ($j=0;$j<26;$j++) {
$conta[substr($alfabeto, $j,1)] = 0
}
$lunghezza = strlen($unaParola);
for ($i=0;$i<$lunghezza;$i++) {
$car = substr($unaParola,$i,1);
$conta[$car]++;
}
return $conta;
}
.... visualizzazione :
$contaLettere = conta("badaze");
foreach($contaLettere as $key => $value) {
print "$key appare $value volte
";
}
... oppure
$contaLettere = conta("badaze");
$alfabeto = "abcdefghijklmnopqrstuvwxyz";
for ($j=0;$j<26;$j++) {
$lettera = substr($alfabeto, $j,1);
$volte = $contaLettere[$lettera];
print "$lettera appare $volte volte
";
}
Il tutto non testato ( non mi funge apache ).
Noterai un numero minore di righe rispetto alla versione senza array.
Comunque è solo un uso degli array. Ci sono numerosi altri casi in cui l'uso dell'array é primordiale... senza parlare dei casi in cui senza un'array sarebbe impossibile lavorare ( tipo le query sql ).