Array PHP: associativo, multidimensionale
Cos'è un array PHP?
Un array PHP è una variabile che memorizza più di un dato correlato in una singola variabile.
Immagina un array come una scatola di cioccolatini con degli slot all'interno.
La casella rappresenta l'array stesso, mentre gli spazi contenenti i cioccolatini rappresentano i valori memorizzati negli array.
Il diagramma seguente illustra la sintassi precedente.
Array numerici
Gli array numerici utilizzano i numeri come chiavi di accesso.
Una chiave di accesso è un riferimento a uno slot di memoria in una variabile di array.
La chiave di accesso viene utilizzata ogni volta che vogliamo leggere o assegnare un nuovo valore a un elemento dell'array.
Di seguito è riportata la sintassi per creare un array numerico in php.
Esempio di matrice
<?php $variable_name[n] = value; ?>
Or
<?php $variable_name = array(n => value, …); ?>
QUI,
- “$nome_variabile…” è il nome della variabile
- “[n]” è il numero dell'indice di accesso dell'elemento
- “value” è il valore assegnato all'elemento dell'array.
Consideriamo ora un esempio di array numerico.
Supponiamo di avere 5 film che vogliamo memorizzare in variabili di array.
Possiamo usare l'esempio mostrato di seguito per farlo.
<?php $movie[0] = 'Shaolin Monk'; $movie[1] = 'Drunken Master'; $movie[2] = 'American Ninja'; $movie[3] = 'Once upon a time in China'; $movie[4] = 'Replacement Killers'; ?>
Qui,
A ogni film viene assegnato un numero di indice che viene utilizzato per recuperare o modificare il suo valore. Osservare il seguente codice:
<?php $movie[0]="Shaolin Monk"; $movie[1]="Drunken Master"; $movie[2]="American Ninja"; $movie[3]="Once upon a time in China"; $movie[4]="Replacement Killers"; echo $movie[3]; $movie[3] = " Eastern Condors"; echo $movie[3]; ?>
Produzione:
Once upon a time in China Eastern Condors
Come puoi vedere dagli esempi precedenti, lavorare con gli array in PHP quando si ha a che fare con più valori della stessa natura è molto semplice e flessibile.
In alternativa, le variabili array sopra indicate possono essere create anche utilizzando il seguente codice.
<?php
$movie = array(0 => "Shaolin Monk",
1 => "Drunken Master",
2 => "American Ninja",
3 => "Once upon a time in China",
4 =>"Replacement Killers" );
echo $movie[4];
?>
Produzione:
Replacement Killers
Array associativo PHP
L'array associativo differisce dall'array numerico nel senso che gli array associativi utilizzano nomi descrittivi per le chiavi ID.
Di seguito è riportata la sintassi per la creazione di array associativi in php.
<?php
$variable_name['key_name'] = value;
$variable_name = array('keyname' => value);
?>
QUI,
- “$nome_variabile…” è il nome della variabile
- “['key_name']” è il numero di indice di accesso dell'elemento
- “value” è il valore assegnato all'elemento dell'array.
Supponiamo di avere un gruppo di persone e di voler assegnare il genere di ciascuna persona in base ai suoi nomi.
Possiamo usare un array associativo per farlo. Il codice seguente ci aiuta a farlo.
<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");
print_r($persons);
echo "";
echo "Mary is a " . $persons["Mary"];
?>
QUI,
Produzione:
Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female
Gli array associativi sono molto utili anche quando si recuperano dati dal database.
I nomi dei campi vengono utilizzati come chiavi ID.
PHP Array multidimensionali
Questi sono array che contengono altri array nidificati.
Il vantaggio degli array multidimensionali è che ci consentono di raggruppare insieme dati correlati.
Vediamo ora un esempio pratico che implementa un array multidimensionale php.
La tabella seguente mostra un elenco di film per categoria.
| Titolo del film | Categoria |
|---|---|
| Pink Panther | Commedia |
| Giovanni Inglese | Commedia |
| Die Hard | Action |
| Expendables | Action |
| Il Signore degli Anelli | Epico |
| Romeo e Giulietta | Romanticismo |
| Non vedere il male, non sentire il male | Commedia |
Le informazioni di cui sopra possono essere rappresentate come un array multidimensionale. Il codice seguente mostra l'implementazione.
<?php
$movies =array(
"comedy" => array("Pink Panther", "John English", "See no evil hear no evil"),
"action" => array("Die Hard", "Expendables"),
"epic" => array("The Lord of the rings"),
"Romance" => array("Romeo and Juliet")
);
print_r($movies);
?>
QUI,
Produzione:
Array ( [comedy] => Array ( [0] => Pink Panther [1] => John English [2] => See no evil hear no evil ) [action] => Array ( [0] => Die Hard [1] => Expendables ) [epic] => Array ( [0] => The Lord of the rings ) [Romance] => Array ( [0] => Romeo and Juliet ) )
Un altro modo per definire lo stesso array è il seguente
<?php
$film=array(
"comedy" => array(
0 => "Pink Panther",
1 => "john English",
2 => "See no evil hear no evil"
),
"action" => array (
0 => "Die Hard",
1 => "Expendables"
),
"epic" => array (
0 => "The Lord of the rings"
),
"Romance" => array
(
0 => "Romeo and Juliet"
)
);
echo $film["comedy"][0];
?>
Produzione:
Pink Panther
Nota: l'array numerico dei film è stato nidificato all'interno dell'array associativo delle categorie
Array PHP: OperaTors
| Operator | Nome | Descrizione | Come fare | Uscita |
|---|---|---|---|---|
| x+y | Unione | Combina gli elementi di entrambi gli array |
<?php
$x = array('id' => 1);
$y = array('value' => 10);
$z = $x + $y;
?>
|
Array([id] => 1 [valore] => 10) |
| X == y | Pari | Confronta due array se sono uguali e restituisce true in caso affermativo. |
<?php
$x = array("id" => 1);
$y = array("id" => "1");
if($x == $y)
{
echo "true";
}
else
{
echo "false";
}
?>
|
Vero o 1 |
| X === y | Identico | Confronta sia i valori che tipi di dati |
<?php
$x = array("id" => 1);
$y = array("id" => "1");
if($x === $y)
{
echo "true";
}
else
{
echo "false";
}
?>
|
Falso o 0 |
| X != y, x <> y | Non uguale |
<?php
$x = array("id" => 1);
$y = array("id" => "1");
if($x != $y)
{
echo "true";
}
else
{
echo "false";
}
?>
|
Falso o 0 | |
| X!== y | Non identico |
<?php
$x = array("id" => 1);
$y = array("id" => "1");
if($x !== $y)
{
echo "true";
}
else
{
echo "false";
}
?>
|
Vero o 1 |
Funzioni degli array PHP
Funzione di conteggio
La funzione count viene utilizzata per contare il numero di elementi contenuti in un array php. Il codice seguente mostra l'implementazione.
<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo count($lecturers);
?>
Produzione:
3
è la funzione array
La funzione is_array viene utilizzata per determinare se una variabile è un array o meno. Diamo ora un'occhiata a un esempio che implementa le funzioni is_array.
<?php
$lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith");
echo is_array($lecturers);
?>
Produzione:
1
Riordina
Questa funzione viene utilizzata per ordinare gli array in base ai valori.
Se i valori sono alfanumerici, li ordina in ordine alfabetico.
Se i valori sono numerici, li ordina in ordine crescente.
Rimuove le chiavi di accesso esistenti e aggiunge nuovi tasti numerici.
L'output di questa funzione è un array numerico
<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");
sort($persons);
print_r($persons);
?>
Produzione:
Array ( [0] => Female [1] => Female [2] => Male )
ksort
Questa funzione è usata per ordinare l'array usando la chiave. Il seguente esempio ne illustra l'uso.
<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");
ksort($persons);
print_r($persons);
?>
Produzione:
Array ( [John] => Male [Mary] => Female [Mirriam] => Female )
assortimento
Questo funzione viene utilizzato per ordinare l'array utilizzando i valori. Il seguente esempio ne illustra l'utilizzo.
<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");
asort($persons);
print_r($persons);
?>
Produzione:
Array ( [Mary] => Female [Mirriam] => Female [John] => Male )
Perché usare gli array?
- Il contenuto degli array può essere allungato,
- Gli array aiutano facilmente a raggruppare informazioni correlate, come i dettagli di accesso al server
- Gli array aiutano a scrivere codice più pulito.
Sintesi
- Gli array sono variabili speciali con la capacità di memorizzare più valori.
- Le matrici sono flessibili e possono essere facilmente estese per accogliere più valori
- Gli array numerici utilizzano numeri per le chiavi dell'array
- Gli array associativi PHP utilizzano nomi descrittivi per le chiavi dell'array
- Gli array multidimensionali contengono altri array al loro interno.
- La funzione count viene utilizzata per ottenere il numero di elementi archiviati in un array
- La funzione is_array viene utilizzata per determinare se una variabile è un array valido o meno.
- Altre funzioni dell'array includono sort, ksort, assort ecc.



