La cheatsheet du tableau PHP.

PHP conserve toujours une place importante dans l’écosystème des langages pour le développement web. Utilisé côté back-end, il est très souvent nécessaire de manipuler des tableaux en PHP. Cet article à pour vocation de présenter un maximum de méthodes et d’astuces permettant de manipuler au mieux les tableaux en php.

L’article est ordonné de manière à présenter en premier lieu les manipulations communes et simples pour enfin terminer sur les spécificités et les besoins moins récurrents.

Les bases pour manipuler un tableau PHP.

Créer un tableau PHP.

Pour construire un tableau en PHP, il suffit d’utiliser la méthode array() conçu à cet effet:

$array = array(1, 3, 6, 9);

Créer un tableau en PHP avec la méthode array() et sans valeur initiale:

$array = array();

Créer un tableau associatif PHP avec la méthode array():

$array = array(
	“name” => “Max”,
	“age” => 25
);

Créer un tableau PHP dans un interval et avec un pas définit par la méthode range():

$array = range(1, 9, 3); // [1, 3, 6, 9]

Créer un tableau PHP de variables avec leurs valeurs en utilisant la méthode compact():

$var1 = 1;
$var2 = 2;
compact(“var1”, “var2”); // [ [var1] => 1, [var2] => 2

Créer un tableau PHP en utilisant des indices personnalisés en utilisant la méthode array_fill_keys():

$arrayIndex = array(1, 2, 3, 4);
$array = array_fill_keys($arrayIndex, 0); // [1 => 0, 2 => 0, 3 => 0, 4 => 0]

Créer un tableau en PHP avec pour index les éléments d’un tableau et pour valeur les éléments d’un autre tableau avec la méthode array_combine():

$arrayIndex = array(1, 2, 3, 4);
$arrayValue = array(1, 3, 6, 9);
$array = array_combine($arrayIndex, $arrayValue); // [1 => 1, 2 => 3, 3 => 6, 4 => 9]

Ajouter et supprimer des éléments dans un tableau en PHP.

Pour ajouter une variable de type string, number, array ou autre dans un tableau en PHP, la méthode array_push() est la méthode principalement employée:

$array = array(1, 3, 6, 9);
array_push($array, 11); // [1, 3, 6, 9, 11]

Pour ajouter un élément au début d’un tableau PHP, il existe une variante avec la méthode array_unshift() et qui fonctionne de manière similaire:

$array = array(1, 3, 6, 9);
array_unshift($array, 0); // [0, 1, 3, 6, 9]

Un point important, il est possible d’ajouter plusieurs éléments à la suite en ajoutant des arguments à array_push() ou array_unshift().

En conservant la variable de la transformation array_unshift(), il est possible de recevoir la nouvelle taille du tableau.

Ajouter un tableau PHP en tant que nouveaux éléments d’un autre tableau PHP:

$array = array(1, 3, 6, 9);
echo [...$array, …[11, 13, 15, 17]]; // 1, 3, 6, 9, 11, 13, 15, 17

Ajouter à partir d’un rang dans un tableau en PHP, plusieurs fois une même valeur avec la méthode array_fill():

$array = array_fill(2, 3, 11); // [2 => 11, 3 => 11, 4 => 11]

Supprimer un élément d’un tableau PHP avec la méthode unset():

$array = array(1, 3, 6, 9);
unset($array[1]); // [1, 6, 9]

Attention cette méthode ne permet pas de réindexer le tableau suite à la suppression de l’élément.

Supprimer un élément et réindexer le tableau PHP avec array_splice():

$array = array(1, 3, 6, 9);
array_splice($array, 1, 1); // [1, 6, 9]

Supprimer le dernier élément d’un tableau en PHP avec la méthode array_pop():

$array = array(1, 3, 6, 9);
array_pop($array); // [1, 3, 6]

Une alternative avec la méthode array_shift() permet de supprimer cette fois ci le premier élément inscrit dans un tableau en PHP:

$array = array(1, 3, 6, 9);
array_shift($array); // [3, 6, 9]

Supprimer les éléments en double dans un tableau PHP en utilisant la méthode array_unique():

$array = array(1, 3, 6, 3, 9);
array_unique($array); // [1, 3, 6, 9]

Récupérer la taille d’un tableau PHP.

La technique principale pour récupérer la taille d’un tableau, est d’utiliser la méthode .count():

$array = array(1, 3, 6, 9);
echo count($array); // 4

Il existe une alternative à count() avec la méthode sizeof():

$array = array(1, 3, 6, 9);
echo sizeof($array); // 4

Récupérer des valeurs précises dans un tableau PHP.

Trouver l’élément se situant à un indice ‘a’ en l’indiquant en argument entre crochet:

$array = array(1, 3, 6, 9);
echo $array[0]; // 1

Présenter tous les éléments se situant dans un tableau PHP avec une boucle for:

$array = array(1, 3, 6, 9);
for( $x=0 ; $x<count($array) ; $x++) {
	echo $array[x];
}

Pour récupérer une partie du tableau dans un interval, l’usage standard est d’utiliser la méthode array_slice(startIndex, endIndex):

$array = array(1, 3, 6, 9);
echo array_slice($array, 0, 2); // 1, 3

Une information importante à savoir pour array_slice(), l’intervalle exclut le dernier élément correspondant à $end.

Trouver l’indice du premier élément correspondant à une valeur en argument avec la méthode array_search():

$array = array(1, 3, 6, 9);
echo array_search(3, $array); // 1

Une alternative permet de trouver le dernier élément correspondant à une valeur définie en temps qu’argument en utilisant une transformation d’inversion du tableau:

$array = array(1, 3, 6, 9);
echo array_search(3, array_reverse($array)); // 3

Récupérer le nombre d’occurence de chaque terme présent dans un tableau en PHP avec array_count_values():

var array =  [1, 3, 3, 6, 9, 6, 6];
print_r(array_count_values($array)); 
/*
Array(
	[1] => 1
	[3] => 2
	[6] => 3
	[9] => 1
)
*/

Récupérer l’ensemble des éléments non-communs à deux tableaux en PHP en utilisant la méthode array_diff():

$array =  [1, 3, 6, 9];
$array2 = [9, 11, 13, 15];
array_diff($array, $array2); // [1, 3, 6, 11, 13, 15]

Il est possible d’ajouter d’autres tableaux en argument de la méthode array_diff().

Récupérer la somme des éléments présent dans un tableau PHP en utilisant la méthode array_sum():

$array = array(1, 3, 6, 9);
array_sum($array); // 19

Récupérer le produit des éléments présent dans un tableau PHP en utilisant la méthode array_product():

$array = array(1, 3, 6, 9);
array_product($array); // 162

Récupérer un élément aléatoire ou plusieurs dans un tableau PHP en utilisant array_rand():

$array = array(1, 3, 6, 9);
array_rand($array, 2); // [3, 6]

Récupérer dans un tableau en PHP, le premier indice avec la méthode array_key_first():

$array = array(1, 3, 6, 9);
array_key_first($array); //0

Une alternative permet de récupérer dans un tableau en PHP, le dernier indice en utilisant la méthode array_key_last():

$array = array(1, 3, 6, 9);
array_key_last($array); // 3

Récupérer toutes les clés d’un tableau associatif PHP avec la méthode array_keys():

$array = array(1, 3, 6, 9);
array_keys($array); // [0, 1, 2, 3]

Récupérer la valeur courante d’un tableau en PHP grâce à la méthode current():

$array = array(1, 3, 6, 9);
current($array); // 1

Il existe une alternative alias de la méthode current() en utilisant la méthode pos():

$array = array(1, 3, 6, 9);
pos($array); // 1

Récupérer une clé associative dans un tableau PHP à l’aide de la méthode key():

$array = array(“a” => 1);
key($array); // a

Valider les caractéristiques d’un tableau PHP:

Vérifier qu’une variable est bien présente un tableau en PHP avec in_array():

$array = array(1, 3, 6, 9);
echo in_array(3, $array); // true

Vérifier que tous les éléments d’un tableau en PHP respectent la condition logique définit avec la méthode array_reduce():

$array = array(1, 3, 6, 9);
echo array_reduce($array, ($result, $element) => $result && $element < 10, true); // true

Valider qu’au moins un élément se trouvant dans un tableau PHP valide la condition logique définie à l’aide de la méthode array_reduce():

$array = array(1, 3, 6, 9);
echo array_reduce($array, ($result, $element) => $result || $element < 3, true); // true

Vérifier qu’un tableau en PHP est considérée comme une liste avec la méthode array_is_list():

$array = array(1, 3, 6, 9);
array_is_list(); // false

Un tableau en PHP est une liste si ses indices sont entiers, partant de 0 avec un pas de 1.

Vérifier dans un tableau associatif PHP qu’un indice existe avec la méthode array_key_exist():

$array = array(1 => 1, 2=> 3, 3 => 6, 4 => 9);
array_key_exist(3, $array); // true

Une alternative alias existe permettant également de vérifier l’existence d’un indice dans un tableau PHP associatif avec la méthode key_exist():

$array = array(1 => 1, 2=> 3, 3 => 6, 4 => 9);
key_exist(3, $array); // true

Les manipulations utiles pour traiter les données d’un tableau PHP.

Transformer un tableau PHP.

Réaliser la fusion de deux tableaux en PHP en un unique tableau avec la méthode array_merge():

$array = array(1, 3, 6, 9);
$array2 = array(11, 13, 15, 17)
$arrayMerged = array_merge($array, $array2); // [1, 3, 6, 9, 11, 13, 15, 17] 

Point important, il est possible de fusionner plus de deux tableaux en ajoutant de nouveaux tableaux en argument avec la méthode array_merge().

Convertir un tableau PHP en string avec la méthode implode():

$array = array(1, 3, 6, 9);
echo implode(“and”, $array); // 1 and 3 and 6 and 9

Transformer une variable string en tableau PHP en utilisant la méthode explode():

$string = “Hello I am here”;
$array = explode(“ “, $string); // [“Hello”, “I”, “am”, “here”]

Inverser les éléments dans un tableau en PHP à l’aide de la méthode array_reverse():

$array = array(1, 3, 6, 9);
array_reverse($array); // [9, 6, 3, 1]

Transformer la valeur de chaque élément d’un tableau à l’aide d’une définition de fonction en utilisant la méthode array_walk():

$array = array(1, 3, 6, 9);
array_walk($array,  ($element) =>{
	$element ++;
}); // [2, 4, 7, 10]

Une alternative utilisant la méthode array_map() permet également d’appliquer une transformation à chaque élément d’un tableau en PHP:

$array = array(1, 3, 6, 9);
array_map(($el) => $el + 1 ,$array); // [2, 4, 7, 10]

Conserver uniquement une partie du tableau basé sur une condition logique grâce à la méthode array_filter():

$array = array(1, 3, 6, 9);
echo array_filter($array, ($el) => $el > 3); // [6, 9]

Transformer tous les éléments d’un intervalle en une seule et même valeur avec la méthode array_replace() et array_fill():

$array = array(1, 3, 6, 9);
array_replace($array, array_fill(0, 2, 0)); // [0, 0, 0, 9]

Transformer un tableau PHP en plusieurs tableau plus petit et de la même taille avec array_chunk():

$array = array(1, 3, 6, 9);
array_chunk($array, 2); // [1, 3] [6,9]

Ajouter un nombre d’élément précis dans un tableau PHP avec une valeur définie à l’aide de la méthode array_pad():

$array = array(1, 3, 6, 9);
array_pad($array, 6, 11) // [1, 3, 6, 9, 11, 11]

Inverser les indices et les valeurs dans un tableau PHP avec la méthode array_flip():

$array = array(1, 3, 6, 9);
array_flip($array); // [1 => 0, 3 => 1, 6 => 2, 9 => 3]

Modifier les éléments d’un tableau PHP à des indices précis avec un autre tableau et à l’aide de la méthode array_replace():

$array = array(1, 3, 6, 9);
$arrayReplace = array( 0 => 11, 9 => 13);
$arrayResult = array_replace($array, $arrayReplace); // [11, 3, 6, 13]

En utilisant la méthode array_replace(), il est possible d’ajouter de nouveaux arguments en tant que tableau de remplacement.

Trier les éléments d’un tableau PHP.

Trier les éléments d’un tableau en PHP par ordre croissant à l’aide de la méthode sort():

$array = array(3, 1, 9, 6);
sort($array); // [1, 3, 6, 9]

Une alternative permet de trier les éléments d’un tableau en PHP par ordre décroissant grâce à la méthode rsort():

$array = array(3, 1, 9, 6);
rsort($array); // [9, 6, 3, 1]

Mélanger les éléments dans un tableau PHP en utilisant la méthode shuffle():

$array = array(3, 1, 9, 6);
shuffle($array); // [3, 6, 9, 1]

Récupérer les éléments présent dans deux tableaux PHP distincts à l’aide de la méthode array_intersect():

$array = array(1, 3, 6, 9);
$array2 = array(6, 9, 11, 13);
$arrayResult = array_intersect($array, $array2); // [6, 9]

Lorsque l’on utilise la méthode array_intersect() avec des tableaux associatifs, les clés sont conservées dans le résultat final.

Trier les éléments d’un tableau PHP associatif en ordre descendant avec la méthode arsort():

$array = array(2 => 1, 1 => 3, 0 => 6, 3 => 9);
$arrayResult = arsort($array); // [9, 6, 3, 1]

L’avantage d’utiliser arsort() est que le tableau trier par ordre descendant conserve les clés associatives des éléments triés.

Une alternative existe permettant de trier les éléments d’un tableau PHP associatif par ordre ascendant en utilisant la méthode asort():

$array = array(2 => 1, 1 => 3, 0 => 6, 3 => 9);
$arrayResult = asort($array); // [1, 3, 6, 9]

Comme pour arsort(), la méthode asort() permet de conserver les clés associatives pendant le traitement du tableau.

Trier les éléments d’un tableau associatif en PHP par ordre décroissant des indices avec la méthode krsort():

$array = array(2 => 1, 1 => 3, 0 => 6, 3 => 9);
$arrayResult = krsort($array); // [9, 1, 3, 6]

Une alternative permet de trier le tableau associatif en PHP par ordre croissant des indices en utilisant cette fois la méthode ksort():

$array = array(2 => 1, 1 => 3, 0 => 6, 3 => 9);
$arrayResult = ksort($array); // [6, 3, 1, 9]

Trier les éléments d’un tableau PHP avec un algorithme de tri naturel en utilisant la méthode natsort():

$array = array(“a1”, “a11”, “a2”, “a13”);
$arrayResult = natsort($array); // [“a1”, “a2”, “a11”, “a13”]

L’intérêt de natsort() par rapport à sort() se trouve être sa meilleure appréciation du tri des chaînes de caractères.

Présenter un tableau PHP.

Permettre la lecture d’un tableau en PHP dans la console avec un format lisible grâce à print_r()

$array = array(1, 3,  6, 9);
print_r($array); 
/*
Array(
[0] => 1
[1] => 3
[2] => 6
[3] => 9
)
*/

Donner à une liste de variable, la valeur des éléments d’un tableau PHP à l’aide de la méthode list():

$array = array(1, 3,  6, 9);
list($a, $b, $c, $d) = array();
print(‘The element are: $a, $b, $c and $d); 

Retourner tous les éléments présent dans un tableau PHP avec la méthode array_values():

$array = array(1, 3,  6, 9);
print(array_values($array)); 
/*
Array (
	[0] => 1,
	[1] => 3
[2] => 6
[3] => 9
):
*/
Photo Maxime Macé

Maxime Macé

Simple passionné de thématiques diverses et variées. J’apprécie enrichir mes connaissances dans les disciplines techniques comme l’informatique, les sciences et l’ingénierie, mais aussi dans les domaines merveilleux de la philosophie, l’art et la littérature.

Prenons contact

Vous souhaitez me contacter suite à la lecture de cet article ? Merci de renseigner votre adresse électronique et je vous recontacterai dans les plus brefs délais.

CV Ingénieur développeur informatique

CV Étudiant PhD Artificial Intelligence

Portfolio Artist designer