ARRAY |
Tableau |
---|---|
PHP 4.0+ |
Syntaxe
function array($elements,...); |
Paramètres
Nom | Description |
---|---|
$elements,... | Ces paramètres permettent d'indiquer les données à inclure dans le tableau |
Retour
Valeur | Description |
---|---|
tableau | Ces valeurs retourne le tableau demandé. |
Description
Ce constructeur permet de créer un tableau avec les éléments spécifiés.
Remarques
- A partir du PHP version 5.4 on peut indiquer une virgule à la fin d'une liste de valeur. Toutefois, avant cette version, l'interpréteur PHP peut s'avérer instable et carrément retourner un «PHP Fatal Error».
- Syntaxe simplifiée avec [] : Depuis PHP 5.4, on peut utiliser une syntaxe simplifiée avec des crochets ([]) au lieu de array(). Cette syntaxe est aujourd'hui la plus courante, car elle rend le code plus concis et lisible, particulièrement dans les projets modernes.
- Si vous définissez des paires de clefs et de valeurs, il peut y avoir plusieurs fois la même clef dans votre définition, cependant, seule la dernière valeur indiquer avec la même clef sera conservé.
- Si vous ne définissez pas de clef, il utilisera la position d'index dans le tableau comme clef.
- Au niveau de l'interpréteur PHP, «array» est perçu comme un constructeur ou un mot réservé et non pas comme une fonction. Ainsi, vous ne pouvez pas remplacer «array» par une autre définition ou «function_exists» et «class_exists» ne retournera pas l'existence de «array». Fait assez curieux, sur la documentation officiel du langage de programmation PHP, il indique clairement que «array» n'est pas une fonction mais dans leur URL «http://php.net/manual/fr/function.array.php», il y a la référence «function».
- Création d'un tableau : La fonction array est utilisée pour créer un tableau en PHP. C'est l'un des constructeurs fondamentaux de PHP, permettant de regrouper plusieurs valeurs sous une même structure, qu'elles soient de types différents (entiers, chaînes, objets,...).
- Tableaux associatifs et numériques : La fonction array permet de créer à la fois des tableaux numériques (indexés par des entiers) et associatifs (indexés par des clefs personnalisées, souvent des chaînes de caractères). Cela offre une flexibilité importante pour organiser et manipuler les données.
- Types mixtes pour les clefs et les valeurs : Un tableau en PHP peut contenir des clefs et des valeurs de types différents dans une même structure. Les clefs peuvent être des entiers ou des chaînes de caractères, tandis que les valeurs peuvent être de n'importe quel type, y compris des objets ou d'autres tableaux.
- Gestion automatique des clefs : Lorsqu'aucune clef n'est spécifiée, PHP attribue automatiquement des clefs numériques incrémentées, commençant par 0. Cependant, si des clefs personnalisées sont utilisées, PHP conserve l'association spécifique entre les clefs et les valeurs.
- Tableaux multidimensionnels : Avec array, il est facile de créer des tableaux imbriqués ou multidimensionnels. Ces structures sont utiles pour représenter des données complexes, telles que des matrices ou des collections d'objets groupées par catégories.
- Performance : Bien que array soit très flexible, il est moins performant que d'autres structures de données spécifiques introduites dans PHP 7.0, comme les objets SplFixedArray ou les collections disponibles dans certaines bibliothèques. Ces alternatives sont plus rapides pour des cas d'utilisation intensifs.
- Interopérabilité avec les fonctions natives : Les tableaux créés avec array peuvent être manipulés avec une vaste gamme de fonctions natives PHP, comme array_map, array_filter, ou array_merge, ce qui fait de cette structure de données une solution très puissante pour manipuler les ensembles de données.
Exemples
Voici quelques exemples typiques de l'utilisation de cette fonction :

- <?php
- $TableauNombre = array(10,20,10,4,6,1,5);
- $TableauChaine = array("ABC","DEF","GHI","JKL");
- $TableauMixed = array(10,"ABC","DEF",5,"GHI","JKL",7);
- $TableauAssoc = array(1 => "A", 2 => "B", 3 => "C", 4 => "D");
- $TableauAssoc2 = array("A" => 1, "B" => 2, "C" => 3, "D" => 4);
- var_dump($TableauNombre);
- echo "<br />";
- var_dump($TableauChaine);
- echo "<br />";
- var_dump($TableauMixed);
- echo "<br />";
- var_dump($TableauAssoc);
- echo "<br />";
- var_dump($TableauAssoc2);
- echo "<br />";
- ?>
on obtiendra le résultat suivant :
array(7) { [0]=> int(10) [1]=> int(20) [2]=> int(10) [3]=> int(4) [4]=> int(6) [5]=> int(1) [6]=> int(5) }array(4) { [0]=> string(3) "ABC" [1]=> string(3) "DEF" [2]=> string(3) "GHI" [3]=> string(3) "JKL" }
array(7) { [0]=> int(10) [1]=> string(3) "ABC" [2]=> string(3) "DEF" [3]=> int(5) [4]=> string(3) "GHI" [5]=> string(3) "JKL" [6]=> int(7) }
array(4) { [1]=> string(1) "A" [2]=> string(1) "B" [3]=> string(1) "C" [4]=> string(1) "D" }
array(4) { ["A"]=> int(1) ["B"]=> int(2) ["C"]=> int(3) ["D"]=> int(4) }
L'exemple suivant permet d'afficher tous les éléments d'un tableau linéaire :

on obtiendra le résultat suivant :
8,54,4,5,7,23,16,L'exemple suivant permet de parcourir tous les éléments du tableaux à l'aide de leurs index (le premier élément à l'index 0, le deuxième à l'index 1, le troisième élément à l'index 2 et ainsi de suite) :

on obtiendra le résultat suivant :
8,54,4,5,7,23,16,L'exemple suivant permet de créer un tableau en 2 dimensions en créant un tableau dans un tableau :

on obtiendra le résultat suivant :
array(2) { ["0001"]=> array(2) { ["fr"]=> string(13) "Tous afficher" ["en"]=> string(11) "Display all" } ["0002"]=> array(2) { ["fr"]=> string(16) "Ne rien afficher" ["en"]=> string(15) "Display nothing" } }L'exemple suivant permet d'ajouter des éléments dans un tableau après l'avoir créer :

on obtiendra le résultat suivant :
array(4) { ["cinq"]=> string(8) "Mon cinq" [6]=> string(7) "Mon six" [7]=> string(8) "Mon sept" ["huit"]=> string(8) "Mon huit" }L'exemple suivant permet de parcours avec un mot réservé «foreach» les différents éléments du tableau :

on obtiendra le résultat suivant :
Clef: convert_false, Valeur:Clef: convert_true, Valeur:1
Clef: plugins, Valeur:paste
Clef: language, Valeur:fr
Clef: level, Valeur:6
Références
PHP 4 - Guide du développeur, Edition First Interactive, Blake Schwendiman, 2002, ISBN: 2-84427-283-5, page 357 à 358