/ //

Array in PHP - GM Multimedia

Vai ai contenuti

Menu principale:

Array in PHP

Guida PHP



         Possiamo descrivere un array come una matrice matematica. In termini più semplici può essere considerato una collezione di elementi ognuno identificato da un indice; gli indici di un array possono essere numerici o stringhe. Gli elementi dell’array possono contenere al proprio interno qualsiasi tipo di dato, compresi oggetti o altri array.
Un array può essere definito in due modi equivalenti:
				$array = array();
				$array = [];
         I due esempi si equivalgono: abbiamo definito una variabile $array assegnandole un array vuoto. Possiamo però inizializzarlo con dei valori definiti al suo interno:
				$frutti = array('banana', 'pesca', 'lampone');
				$frutti = ['banana', 'pesca', 'lampone'];
         Anche in questo caso i due esempi si equivalgono. In ogni momento possiamo visualizzare il contenuto di un array con la funzione print_r(), utile in caso di debug:
				$frutti = ['banana', 'pesca', 'lampone'];
				print_r($frutti);
				//L’esempio restituirà un output come il seguente:
				Array
				(
				[0] => banana
				[1] => pesca
				[2] => lampone
				)
         Un array è quindi un contenitore di elementi contraddistinti da un indice. Se l’indice non viene esplicitato di default è di tipo numerico 0-based. 0-based sta ad indicare che l’indice dell’array inizierà da 0 anziché da 1. Come abbiamo potuto vedere nell’output dell’esempio precedente, il primo elemento dell’array (banana) possedeva infatti l’indice con valore 0.
         Nel caso di array con indice numerico è possibile accedere ai singoli elementi attraverso il proprio indice:
				$frutti = ['banana', 'pesca', 'lampone'];
				echo "Il mio frutto preferito è il " . $frutti[2];
         L’esempio stamperà Il mio frutto preferito è il lampone perché ho deciso di stampare il terzo (indice 2 partendo da 0) elemento dell’array.


Array associativo
         Un altro modo molto di utilizzare gli array è quello di sfruttare gli indici come stringhe anziché come valore numerico:

				$annoDiNascita = [
				'Simone' => '1986',
				'Gabriele' => '1991',
				'Giuseppe' => '1992',
				'Renato' => '1988'
				];
         Nell’array appena definito ogni elemento è caratterizzato da una coppia chiave -> valore in cui la chiave (o indice) è il nome di una persona e il valore è il suo anno di nascita. Supponiamo di voler stampare la data di nascita di uno degli utenti, possiamo accedere al suo valore in questo modo:
				echo "L'anno di nascita di Gabriele è " . $annoDiNascita['Gabriele'];
         Come per gli indici numerici è sufficiente indicare l’indice tra parentesi quadre per accedere al valore di un elemento. Usando la funzione print_r() sull’array definito in precedenza, eseguendo quindi il comando print_r($annoDiNascita); otterremo il seguente output:
				Array
				(
				[Simone] => 1986
				[Gabriele] => 1991
				[Giuseppe] => 1992
				[Renato] => 1988
				)
         Un array può contenere ulteriori array, in questo caso potremmo avere una situazione come la seguente:
				$partecipanti = [
				'Simone' => [
				'anno' => '1986',
				'sesso' => 'M',
				'email' => 'test@notreal.com'
				],
				'Gabriele' => [
				'anno' => '1991',
				'sesso' => 'M',
				'email' => 'test2@notreal.com'
				],
				'Josephine' => [
				'anno' => '1985',
				'sesso' => 'F',
				'email' => 'test3@notreal.com'
				],
				];
         Nell’esempio abbiamo un array con chiavi contenenti i nomi degli utenti. Il valore degli elementi dell’array è un ulteriore sotto-array contenente le proprietà dell’utente: anno di nascita, sesso e email. In questo caso per accedere ad un valore specifico dell’array possiamo usare la sintassi:
				echo 'La mail di Josephine è ' . $partecipanti['Josephine']['email'];
         Richiamando print_r() sull’array avremo in output:
				Array
				(
				[Simone] => Array
				(
				[anno] => 1986
				[sesso] => M
				[email] => test@notreal.com
				)
				[Gabriele] => Array
				(
				[anno] => 1991
				[sesso] => M
				[email] => test2@notreal.com
				)
				[Josephine] => Array
				(
				[anno] => 1985
				[sesso] => F
				[email] => test3@notreal.com
				)
				);
         Aggiungere o modificare il valore di un elemento
Nello stesso modo in cui possiamo accedere al contenuto di un elemento di un array possiamo anche modificarne il valore. Quindi riprendendo l’array $partecipanti, supponendo di voler modificare la mail di uno degli utenti possiamo operare in questo modo:

				$partecipanti['Simone']['email'] = 'valid@email.com';
         Lanciando print_r() dopo la modifica l’output sarà:
				$partecipanti['Simone']['email'] = 'valid@email.com';
         Nel caso in cui volessimo aggiungere un nuovo partecipante possiamo utilizzare la sintassi:
				$partecipanti['Giuseppe'] = [
				'anno' => 1992,
				'sesso' => 'M',
				'email' => 'giuseppe@test.com'
				];
         E’ sufficiente richiamare l’array indicandogli il nuovo indice ed il valore che conterrà. Richiamando print_r() sull’array avremo:
				Array
				(
				[Simone] => Array
				(
				[anno] => 1986
				[sesso] => M
				[email] => valid@email.com
				)
				[Gabriele] => Array
				(
				[anno] => 1991
				[sesso] => M
				[email] => test2@notreal.com
				)
				[Josephine] => Array
				(
				[anno] => 1985
				[sesso] => F
				[email] => test3@notreal.com
				)
				[Giuseppe] => Array
				(
				[anno] => 1992
				[sesso] => M
				[email] => giuseppe@test.com
				)
				)
Visitatori online:
Sei il nostro visitatore n°:
© - Copyright 2015. - Tutti i diritti riservati - G.M. Multimedia
Torna ai contenuti | Torna al menu