W3docs

array()

La funzione array() in PHP crea un array. Scopri i tipi di array, la sintassi breve [] e le operazioni più comuni.

Introduzione

Il costrutto linguistico array() crea un array PHP — una mappa ordinata che associa chiavi a valori. Nonostante il nome "array", un array PHP è molto più flessibile di un array a dimensione fissa nei linguaggi come C o Java: un singolo array può contenere valori di tipi misti, crescere o ridursi a runtime e usare come chiavi sia interi che stringhe.

Questa pagina spiega come funziona array(), i tre tipi di array che puoi creare con esso, la moderna sintassi breve [], e le operazioni quotidiane (conteggio, aggiunta, ciclo) a cui ricorrerai più spesso. Ogni esempio è eseguibile.

Sintassi di base

array(value1, value2, value3, ...)
// or, since PHP 5.4, the short syntax:
[value1, value2, value3, ...]

Puoi anche assegnare le chiavi in modo esplicito usando la freccia key => value:

array(key1 => value1, key2 => value2, ...)

Entrambe le forme restituiscono un valore array. Le due sintassi sono intercambiabili; la forma breve [] è preferita nel codice moderno.

Creare un array

php— editable, runs on the server

Quando non si forniscono chiavi, PHP assegna chiavi intere sequenziali a partire da 0. Quindi $fruits[0] è "apple", $fruits[1] è "banana" e $fruits[2] è "orange". Questo è un array indicizzato.

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)

I tre tipi di array

PHP usa un'unica struttura dati, array, per tre forme concettuali:

Array indicizzati

Le chiavi sono interi assegnati automaticamente. Usali per elenchi ordinati in cui conta solo la posizione.

<?php
$colors = ["red", "green", "blue"];
echo $colors[1]; // green

Consulta array indicizzati per approfondire.

Array associativi

Scegli chiavi stringa per etichettare ogni valore, ideale per record e ricerche.

<?php
$user = [
    "name"  => "Ada",
    "email" => "[email protected]",
    "age"   => 36,
];

echo $user["email"]; // [email protected]

Consulta array associativi per approfondire.

Array multidimensionali

Un valore può essere a sua volta un array, consentendoti di modellare tabelle e dati annidati.

<?php
$matrix = [
    [1, 2, 3],
    [4, 5, 6],
];

echo $matrix[1][2]; // 6

Consulta array multidimensionali per approfondire.

Contare gli elementi

La funzione count() restituisce il numero di elementi di primo livello che un array contiene. Si abbina naturalmente a array():

<?php

$fruits = array("apple", "banana", "orange");

echo count($fruits); // 3

Aggiungere elementi

Per aggiungere un valore in coda, usa la sintassi [] — è più breve di array_push() e più chiara per un singolo elemento:

<?php
$fruits = ["apple", "banana"];

$fruits[] = "cherry";       // appended with the next integer key (2)
$fruits["fav"] = "mango";   // added with an explicit string key

print_r($fruits);
Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
    [fav] => mango
)

Questo mix di chiavi intere e stringa in un unico array è perfettamente valido — è proprio ciò che rende gli array PHP delle "mappe ordinate".

Scorrere un array

foreach è il modo idiomatico per percorrere ogni coppia chiave/valore e funziona con tutti e tre i tipi di array:

<?php
$user = ["name" => "Ada", "age" => 36];

foreach ($user as $key => $value) {
    echo "$key: $value\n";
}
name: Ada
age: 36

Consulta il ciclo foreach per il riferimento completo.

Errori comuni

  • Le chiavi duplicate vengono sovrascritte. [1 => "a", 1 => "b"] mantiene solo "b" — vince l'ultimo valore assegnato a una chiave.
  • Le chiavi stringa che sembrano interi diventano interi. ["7" => "x"] viene memorizzato sotto la chiave intera 7, quindi $a[7] e $a["7"] accedono allo stesso elemento.
  • Accedere a una chiave inesistente genera un avviso e restituisce null. Prima verifica con array_key_exists() o isset().
  • Il conteggio riguarda solo il primo livello. count() su un array multidimensionale restituisce il numero di elementi esterni, non il totale delle foglie.

Best practice

  • Preferisci la sintassi breve [] rispetto a array() nel codice nuovo — è la convenzione moderna.
  • Usa chiavi stringa significative per i dati associativi, così il codice riflette il dominio che modella.
  • Aggiungi con $arr[] = ... invece di array_push() quando si aggiunge un singolo valore.
  • Ordina con la funzione giusta per il tipo di chiave — consulta sorting arrays per sort(), asort(), ksort() e simili.

Conclusione

Il costrutto array() (e la sua scorciatoia []) è il fondamento della gestione dei dati in PHP. Poiché un unico tipo array funge sia da lista indicizzata, sia da mappa associativa, sia da albero annidabile, padroneggiare creazione, conteggio, aggiunta e ciclo sblocca la maggior parte del toolkit di manipolazione dei dati del linguaggio.

Pratica

Pratica
Quali sono i tipi principali di array in PHP?
Quali sono i tipi principali di array in PHP?
Was this page helpful?