En PHP, les tableaux sont des tableaux associatifs ordonnés.
Un tableau associatif est une structure de données qui associe une clé à une valeur.
Les tableaux sont polyvalents et peuvent être traités comme un tableau linéaire (comme en C ou en Java), une liste [vecteur], une table de hachage, un dictionnaire, une collection, une pile ou une file.
Une clé est facultative, mais si elle est précisée, elle doit être soit un int, soit un string.
Lorsqu'aucune clé n'est fournie, PHP utilise par défaut des clés entières dans l'ordre croissant, à partir de 0.
$no_keys = ["my", "first", "array"];
$integer_keys = [0 => "my", 1 => "first", 2 => "array"];
$no_keys == $integer_keys // => equal returns true
$no_keys === $integer_keys // => strictly equal returns true
Un tableau peut stocker des valeurs de tous les types. Chaque valeur peut avoir un type différent.
Les tableaux peuvent être déclarés sous forme de littéral (écrit dans le code, comme ci-dessus) ou créés et manipulés à l'aide de fonctions. On accède aux valeurs, on les affecte et on les ajoute à l'aide de l'opérateur d'indice :
$prime_numbers = [2, 3, 5, 6];
$prime_numbers[3] = 7; // replace 6 with 7
$prime_numbers[] = 11; // array now contains [2, 3, 5, 7, 11]
On peut déclarer les arguments d'une fonction de telle sorte qu'elle puisse prendre un nombre quelconque d'arguments :
<?php
function actOnItems(...$items) {
// $items is an array containing 0 or more values
// used to call the function.
}
actOnItems(1, 2, 3, 4); // $items => [1, 2, 3, 4]
Dans cet exercice, tu dois implémenter quelques fonctions pour manipuler un tableau de langages de programmation.
Définis la fonction language_list qui ne prend aucun argument et qui renvoie un tableau vide.
<?php
language_list();
// => []
Modifie la fonction language_list pour qu'elle prenne un argument variadique de langages (strings).
Elle doit renvoyer le tableau résultant contenant les langages.
<?php
$language_list = language_list();
// => []
$language_list = language_list("Clojure", "PHP");
// => ["Clojure", "PHP"]
$language_list = language_list("PHP", "Haskell", "Java", "C++", "Rust")
// => ["PHP", "Haskell", "Java", "C++", "Rust"]
Définis la fonction add_to_language_list qui prend 2 arguments, un tableau de langages et le nouveau langage.
<?php
$language_list = language_list();
// => []
$language_list = add_to_language_list($language_list, "Clojure");
// => ["Clojure"]
Définis la fonction prune_language_list pour retirer le premier langage du tableau de langages.
<?php
$language_list = language_list("PHP");
// => ["PHP"]
$language_list = prune_language_list($language_list);
// => []
Définis la fonction current_language qui prend 1 argument (un tableau de langages).
Elle doit renvoyer le premier langage du tableau.
Suppose que le tableau contient toujours au moins un élément.
<?php
$language_list = language_list("PHP", "Prolog");
// => ["PHP", "Prolog"]
$first = current_language($language_list);
// => "PHP"
Définis la fonction language_list_length qui prend 1 argument (un tableau de langages).
Elle doit renvoyer le nombre de langages dans le tableau.
<?php
$language_list = language_list("PHP", "Prolog", "Wren");
// => ["PHP", "Prolog", "Wren"]
language_list_length($language_list);
// => 3
Inscris-toi sur Exercism pour apprendre et maîtriser PHP avec 11 concepts122 exercices, et un vrai mentorat humain, le tout gratuitement.