English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di base PHP

Tutorial avanzato PHP

PHP & MySQL

Manuale di riferimento PHP

Array PHP

In questo tutorial, imparerai a memorizzare più valori in una singola variabile in PHP.

Cos'è un array PHP

Gli array sono variabili complesse che ci permettono di memorizzare più valori o un insieme di valori sotto un singolo nome di variabile. Supponiamo di voler memorizzare i colori in uno script PHP, memorizzare i colori uno per uno nelle variabili potrebbe essere come segue:

<?php
$color1 = "Red";
$color2 = "Green";
$color3 = "Blue";
echo $color1;
echo "<br>";
echo $color2;
echo "<br>";
echo $color3;
?>
测试看看‹/›

Ma se vuoi memorizzare i nomi degli stati o delle città delle nazioni/regioni in variabili, potrebbe non essere sufficiente tre, ma potrebbero essere cento. Memorizzare il nome di ogni città in una variabile separata è un metodo difficile, cattivo e non saggio. Gli array iniziano a fare la loro comparsa qui.

Tipi di array in PHP

Puoi creare tre tipi di array. Questi sono:

  • Array di indici — Un array con chiavi numeriche.

  • Array associativo — Un array in cui ogni chiave ha un valore specifico.

  • 多维数组 — Un array che contiene uno o più array.

Array di indici

Un array di indici o numerico memorizza ogni elemento dell'array che ha un indice numerico. Nell'esempio seguente vengono mostrati due modi per creare un array di indici, il più semplice è:

<?php
//Definire un array di indici
$colors = array("Red", "Green", "Blue");
// 打印数组结构
print_r($colors);
?>
测试看看‹/›

Attenzione:In un array di indici o numerico, vengono assegnati automaticamente gli indici e iniziano da 0, e i valori possono essere di qualsiasi tipo di dati.

Questo è equivalente al seguente esempio, in cui sono stati assegnati manualmente gli indici:

<?php
$colors[0] = "Red"; 
$colors[1] = "Green"; 
$colors[2] = "Blue"; 
// 打印数组结构
print_r($colors); 
?>
测试看看‹/›

Array associativo

In un array associativo, la chiave assegnata al valore può essere qualsiasi stringa arbitraria e definita dall'utente. Nell'esempio seguente, l'array utilizza le chiavi invece degli indici numerici:

<?php
//Definire un array associativo
$ages = array("Peter"=>22, "Clark"=>32, "John"=>28);
// 打印数组结构
print_r($ages ); 
?>
测试看看‹/›

L'esempio seguente è equivalente a quello precedente, ma mostra un altro modo di creare un array associativo:

<?php
$ages["Peter"] = "22";
$ages["Clark"] = "32";
$ages["John"] = "28";
// 打印数组结构
print_r($ages );
?>
测试看看‹/›

多维数组

多维数组是一个数组,其中每个元素也可以是一个数组,子数组中的每个元素可以是一个数组,或者进一步在其内部包含数组,依此类推。多维数组的示例如下所示:

<?php
//定义多维数组
$contacts = array(
    array(
        "name" => "Peter Parker",
        "email" => "[email protected]",
    ),
    array(
        "name" => "Clark Kent",
        "email" => "[email protected]",
    ),
    array(
        "name" => "Harry Potter",
        "email" => "[email protected]",
    )
);
//访问嵌套值
echo "彼得.帕克的电子邮件 id 是: " . $contacts[0]["email"];
?>
测试看看‹/›

查看数组的结构和值

您可以使用两个语句 var_dump()或 print_r() 之一,查看任何数组的结构和值。但是print_r()语句提供的信息稍少一些。看以下示例:

<?php
//定义数组
$cities = array("London", "Paris", "New York");
 
//显示城市数组
print_r($cities);
?>
测试看看‹/›

print_r() 语句提供以下输出:

Array ( [0] => London [1] => Paris [2] => New York )

此输出显示数组中每个元素的键和值。要获取更多信息,请使用以下语句:

<?php
//定义数组
$cities = array("London", "Paris", "New York");
 
//显示城市数组
var_dump($cities);
?>
测试看看‹/›

var_dump()语句提供以下输出:

array(3) { [0]=> string(6) "London" [1]=> string(5) "Paris" [2]=> string(8) "New York" }

除了键和值,此输出还显示每个元素的数据类型,例如6个字符的字符串。在下一章,您将学习如何对数组元素进行排序。

循环章节中,您将学习如何遍历数组的值。