PHP - Array
Un array è una struttura dati che memorizza uno o più tipi di valori simili in un unico valore. Ad esempio, se si desidera memorizzare 100 numeri, invece di definire 100 variabili, è facile definire un array di 100 lunghezze.
Esistono tre diversi tipi di array e si accede a ciascun valore di array utilizzando un ID c chiamato indice di array.
Numeric array- Un array con un indice numerico. I valori vengono memorizzati e accessibili in modo lineare.
Associative array- Un array con stringhe come indice. Memorizza i valori degli elementi in associazione con i valori chiave piuttosto che in un rigoroso ordine di indice lineare.
Multidimensional array - Si accede a un array contenente uno o più array e valori utilizzando più indici
NOTE- Le funzioni array incorporate sono fornite nel riferimento funzioni PHP Array Functions
Matrice numerica
Questi array possono memorizzare numeri, stringhe e qualsiasi oggetto ma il loro indice sarà rappresentato da numeri. Per impostazione predefinita, l'indice dell'array inizia da zero.
Esempio
Di seguito è riportato l'esempio che mostra come creare e accedere agli array numerici.
Qui abbiamo usato array()funzione per creare array. Questa funzione è spiegata nel riferimento alla funzione.
<html>
<body>
<?php
/* First method to create array. */
$numbers = array( 1, 2, 3, 4, 5);
foreach( $numbers as $value ) {
echo "Value is $value <br />";
}
/* Second method to create array. */
$numbers[0] = "one";
$numbers[1] = "two";
$numbers[2] = "three";
$numbers[3] = "four";
$numbers[4] = "five";
foreach( $numbers as $value ) {
echo "Value is $value <br />";
}
?>
</body>
</html>
Questo produrrà il seguente risultato:
Value is 1
Value is 2
Value is 3
Value is 4
Value is 5
Value is one
Value is two
Value is three
Value is four
Value is five
Array associativi
Gli array associativi sono molto simili agli array numerici in termini di funzionalità, ma differiscono in termini di indice. L'array associativo avrà il proprio indice come stringa in modo da poter stabilire una forte associazione tra chiave e valori.
Per memorizzare gli stipendi dei dipendenti in una matrice, una matrice indicizzata numericamente non sarebbe la scelta migliore. Invece, potremmo usare i nomi dei dipendenti come chiavi nel nostro array associativo e il valore sarebbe il loro rispettivo stipendio.
NOTE - Non mantenere l'array associativo tra virgolette doppie durante la stampa altrimenti non restituirebbe alcun valore.
Esempio
<html>
<body>
<?php
/* First method to associate create array. */
$salaries = array("mohammad" => 2000, "qadir" => 1000, "zara" => 500);
echo "Salary of mohammad is ". $salaries['mohammad'] . "<br />";
echo "Salary of qadir is ". $salaries['qadir']. "<br />";
echo "Salary of zara is ". $salaries['zara']. "<br />";
/* Second method to create array. */
$salaries['mohammad'] = "high";
$salaries['qadir'] = "medium";
$salaries['zara'] = "low";
echo "Salary of mohammad is ". $salaries['mohammad'] . "<br />";
echo "Salary of qadir is ". $salaries['qadir']. "<br />";
echo "Salary of zara is ". $salaries['zara']. "<br />";
?>
</body>
</html>
Questo produrrà il seguente risultato:
Salary of mohammad is 2000
Salary of qadir is 1000
Salary of zara is 500
Salary of mohammad is high
Salary of qadir is medium
Salary of zara is low
Array multidimensionali
Un array multidimensionale ogni elemento dell'array principale può anche essere un array. E ogni elemento nel sotto-array può essere un array e così via. I valori nella matrice multidimensionale sono accessibili utilizzando più indici.
Esempio
In questo esempio creiamo una matrice bidimensionale per memorizzare i voti di tre studenti in tre materie:
Questo esempio è un array associativo, puoi creare un array numerico allo stesso modo.
<html>
<body>
<?php
$marks = array(
"mohammad" => array (
"physics" => 35,
"maths" => 30,
"chemistry" => 39
),
"qadir" => array (
"physics" => 30,
"maths" => 32,
"chemistry" => 29
),
"zara" => array (
"physics" => 31,
"maths" => 22,
"chemistry" => 39
)
);
/* Accessing multi-dimensional array values */
echo "Marks for mohammad in physics : " ;
echo $marks['mohammad']['physics'] . "<br />";
echo "Marks for qadir in maths : ";
echo $marks['qadir']['maths'] . "<br />";
echo "Marks for zara in chemistry : " ;
echo $marks['zara']['chemistry'] . "<br />";
?>
</body>
</html>
Questo produrrà il seguente risultato:
Marks for mohammad in physics : 35
Marks for qadir in maths : 32
Marks for zara in chemistry : 39