W3docs

array()

La fonction array() en PHP crée un array. Découvrez les trois types d'arrays, la syntaxe courte [] et les opérations essentielles.

Introduction

Le construct array() crée un array PHP — une carte ordonnée qui associe des clés à des valeurs. Malgré le nom « array », un array PHP est bien plus flexible qu'un tableau de taille fixe dans des langages comme C ou Java : un seul array peut contenir des types de valeurs mixtes, grandir ou rétrécir à l'exécution, et utiliser des entiers ou des chaînes comme clés.

Cette page explique le fonctionnement d'array(), les trois types d'arrays que vous construirez avec cette fonction, la syntaxe courte moderne [], ainsi que les opérations courantes (compter, ajouter, parcourir) auxquelles vous aurez le plus souvent recours. Chaque exemple est exécutable.

Syntaxe de base

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

Vous pouvez aussi assigner des clés explicitement avec la flèche key => value :

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

Les deux formes retournent une valeur de type array. Les deux syntaxes sont interchangeables ; la forme courte [] est préférée dans le code moderne.

Créer un array

php— editable, runs on the server

Lorsque vous ne fournissez pas de clés, PHP attribue des clés entières séquentielles à partir de 0. Ainsi, $fruits[0] vaut "apple", $fruits[1] vaut "banana", et $fruits[2] vaut "orange". Il s'agit d'un array indexé.

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

Les trois types d'arrays

PHP utilise une seule structure de données, array, pour trois formes conceptuelles :

Arrays indexés

Les clés sont des entiers attribués automatiquement. Utilisez-les pour les listes ordonnées où seule la position importe.

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

Consultez les arrays indexés pour en savoir plus.

Arrays associatifs

Vous choisissez des clés de type string pour étiqueter chaque valeur, ce qui est idéal pour les enregistrements et les recherches.

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

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

Consultez les arrays associatifs pour en savoir plus.

Arrays multidimensionnels

Une valeur peut elle-même être un array, ce qui permet de modéliser des tableaux et des données imbriquées.

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

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

Consultez les arrays multidimensionnels pour en savoir plus.

Compter les éléments

La fonction count() retourne le nombre d'éléments de premier niveau que contient un array. Elle s'utilise naturellement avec array() :

<?php

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

echo count($fruits); // 3

Ajouter des éléments

Pour ajouter une valeur à la fin, utilisez la syntaxe [] — c'est plus court qu'appeler array_push() et plus clair pour un seul élément :

<?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
)

Ce mélange de clés entières et de clés string dans un même array est tout à fait valide — c'est ce qui fait des arrays PHP des « cartes ordonnées ».

Parcourir un array

foreach est la façon idiomatique de parcourir chaque paire clé/valeur, et elle fonctionne avec les trois types d'arrays :

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

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

Consultez la boucle foreach pour la référence complète.

Pièges courants

  • Les clés dupliquées sont écrasées. [1 => "a", 1 => "b"] ne conserve que "b" — la dernière valeur assignée à une clé l'emporte.
  • Les clés string qui ressemblent à des entiers deviennent des entiers. ["7" => "x"] est stocké sous la clé entière 7, donc $a[7] et $a["7"] accèdent au même élément.
  • Accéder à une clé inexistante émet un avertissement et retourne null. Vérifiez d'abord avec array_key_exists() ou isset().
  • count() ne compte que le premier niveau. count() sur un array multidimensionnel retourne le nombre d'éléments extérieurs, pas le total des feuilles.

Bonnes pratiques

  • Préférez la syntaxe courte [] à array() dans le nouveau code — c'est la convention moderne.
  • Utilisez des clés string significatives pour les données associatives afin que le code reflète le domaine qu'il modélise.
  • Ajoutez avec $arr[] = ... plutôt qu'array_push() pour ajouter une seule valeur.
  • Triez avec la bonne fonction selon votre type de clé — consultez le tri des arrays pour sort(), asort(), ksort() et leurs variantes.

Conclusion

Le construct array() (et son raccourci []) est le fondement de la manipulation des données en PHP. Parce qu'un seul type array peut servir de liste indexée, de carte associative et d'arbre imbriquable, maîtriser la création, le comptage, l'ajout et le parcours déverrouille la majeure partie de la boîte à outils de manipulation de données du langage.

Pratique

Pratique
Quels sont les principaux types d'arrays en PHP ?
Quels sont les principaux types d'arrays en PHP ?
Was this page helpful?