I.I.S.S. Alessandro Volta - Palermo
+1 voto
Vorrei in particolare creare un array associativo per rappresentare i dati anagrafici di un numero n di persone.
quesito posto 29 Maggio 2017 in Tecnologie e Prog. di Sistemi Informatici e Tlc da tonins Corsista (123 punti)
  

3 Risposte

+1 voto
Esempio

$persona[nome] ='Aurora"

$persona[cognome']="D'Amore"

$presona[codicefiscale] ='DMRRE294F134971SD';
risposta inviata 9 Giugno 2017 da FreyaAurora (31 punti)
risposta corretta
0 voti
PHP gestisce due tipi di array: numerici ed associativi. Per array associativi si intendono

quelli che hanno chiavi (o indici) in formato stringa, come nell'ultimo esempio che abbiamo visto. In realtà però questo

non è esatto

: infatti PHP gestisce

un unico

tipo di array, le cui chiavi possono essere numeriche o associative. La differenza è sottile, ma significativa: infatti le chiavi numeriche ed

associative possono coesistere

nello stesso array

. Vediamo un esempio banale, ipotizzando la formazione di una squadra di calcio:

$formazione[1] ='Buffon';

$formazione[2] ='Panucci';

$formazione[3] ='Nesta';

$formazione[4] ='Cannavaro';

$formazione[5] ='Coco';

$formazione[6] ='Ambrosini';

$formazione[7] ='Tacchinardi';

$formazione[8] ='Perrotta';

$formazione[9] ='Totti';

$formazione[10] ='Inzaghi';

$formazione[11] ='Vieri';

$formazione['ct'] = 'Trapattoni';

In questo caso abbiamo creato un array con dodici elementi, di cui undici con chiavi numeriche, ed uno con chiave associativa. Se in seguito volessimo

aggiungere un elemento usando le parentesi quadre vuote, il nuovo elemento prenderà l'indice 12. Avremmo potuto creare lo stesso array usando

l'istruzione di dichiarazione dell'array, così:

$formazione = array(1 => 'Buffon', 'Panucci', 'Nesta', 'Cannavaro', 'Coco', 'Ambrosini', 'Tacchinardi',

'Perrotta', 'Totti', 'Inzaghi', 'Vieri', 'ct' => 'Trapattoni');

Analizziamo il formato di questa istruzione: per prima cosa abbiamo creato il primo elemento, assegnandogli esplicitamente la chiave 1. Come possiamo

vedere, il sistema per fare ciò è di indicare la chiave, seguita dal simbolo "=>" (uguale + maggiore) e dal valore dell'elemento. Se non avessimo indicato 1

come indice, PHP avrebbe assegnato al primo elemento l'indice 0. Per gli elementi successivi, ci siamo limitati ad elencare i valori, in quanto PHP, per

ciascuno di essi, crea la chiave numerica aumentando di 1 la più alta già esistente. Quindi 'Panucci' prende l'indice 2, 'Nesta' il 3 e così via. Arrivati all'ultimo

elemento, siccome vogliamo assegnargli una chiave associativa, siamo obbligati ad indicarla esplicitamente.

E' da notare che quando abbiamo usato le chiavi associative le abbiamo indicate fra apici: ciò è necessario per mantenere la 'pulizia' del codice, in quanto,

se non usassimo gli apici (come spesso si vede fare), PHP genererebbe un errore di tipo 'notice', anche se lo script funzionerebbe ugualmente. L'eccezione

si ha quando l'elemento di array viene indicato fra virgolette:

$persona['nome'] = 'Mario'; //corretto

$persona[cognome] = 'Rossi'; /*funziona, ma genera un errore 'notice'*/

print $persona['cognome']; //stampa 'Rossi': corretto

print "ciao $persona[nome]"; /*stampa 'ciao Mario': corretto (niente apici fra virgolette)*/

print "ciao $persona['nome']"; //NON FUNZIONA, GENERA ERRORE

print "ciao {$persona['nome']}"; /*corretto: per usare gli apici fra virgolette dobbiamo comprendere il tutto fra

parentesi graffe*/

print "ciao " . $persona['nome']; /*corretto: come alternativa, usiamo il punto per concatenare (v. lez.10 sugli

operatori)*/
risposta inviata 29 Maggio 2017 da Laura Guccione Corsista (149 punti)
Trattazione completa e precisa. Hai toccato tutti i punti salienti della problematica proposta.
Peccato che nessuno degli studenti si sia cimentato nello scrivere un esempio
0 voti
In PHP esistono gli array numerici e gli array associativi, nel 1° caso l'inidice e numerico nel 2° caso l'indice è una stringa.Per accedere al valore dell'elemento dell'array si utilizza il nome della variabile seguito dall'indice racchiuso tra parentesi quadre.Negli array associativi l'indice è una stringa tra doppi apici.Un esempio è:

$ALUNNO["cognome"]="OROFINO";

$ALUNNO["nome"]="DAMIANO";

$ALUNNO["voto"]="NOVE";
risposta inviata 2 Giugno 2017 da Damiano_98 Corsista (47 punti)
quindi diciamo che in php le chiavi degli array possono essere qualsiasi cosa: numeri o stringhe.,
per il resto esempio corretto

Domande correlate

+1 voto
5 risposte
quesito posto 3 Giugno 2017 in Tecnologie e Prog. di Sistemi Informatici e Tlc da tonins Corsista (123 punti) | 77 visite
0 voti
1 risposta
684 domande
1,334 risposte
631 commenti
1,853 utenti