PHP : come inizializzare un array

php PHP : come inizializzare un array

Arieccomi a parlare di php. Con questi post brevi e, spero comprensibili, mi piacerebbe invogliare chi legge questo blog a ‘buttarsi’ un pò su questo linguaggio sempre più importante in ambito web (e non solo). Per chi, invece, già ne mastica abbastanza, può sempre essere un utile e veloce ripasso.
Oggi si parla di array e, in particolare, di inizializzazione.
Il php mette a disposizione una funzione per inizializzare un array con dei valori ben definiti : array_fill()
Vediamo la sua descrizione :

array array_fill (int inizio, int num, mixed valore)

Quindi, in sostanza : array_fill() riempie un array con num elementi inizializzati con il valore del parametro valore, e con le chiavi che partono dal valore del parametro inizio.
Vediamo un esempio che, come al solito, rende tutto molto più chiaro. Volendo inizializzare un array con 5 elementi partendo da 0 e con valore di default 2 ecco come dichiarare la funzione :

$array = array_fill(0, 5, 2);

In tal caso avremo :

Array
(
    [0] => 2
    [1] => 2
    [2] => 2
    [3] => 2
    [4] => 2
)

Logicamente potete riempire l’array non solo con interi, ma anche con valori booleani, stringhe ecc

Infine, potrete anche, sfruttando una variabile, inizializzare un array con altri array. Ecco come :

$x = array(1,2,3);
$array = array_fill(0, 3, $x);

Il risultato è il seguente :

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [1] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [2] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

)

Questa può essere una funzione utile da usare se avete bisogno di garantire che vi sono valori per alcuni elementi scorrendo l’array utilizzando un ciclo.

Non inizializzando l’array ci potrebbero essere “buchi” che causerebbero errori nel momento in cui si tenta di accedere all’elemento.

Nessun commento.

Lascia un commento