
Dans cette leçon vidéo, le formateur explique en détail les tableaux en PHP, en commençant par la différence entre variables scalaires et structures de données. Il montre comment déclarer des tableaux indexés (avec index implicites, explicites ou mixtes) et des tableaux associatifs à clés de chaîne, ainsi que les syntaxes alternatives. Le présentateur illustre l’accès aux éléments, l’affichage complet avec printr, et les différentes boucles de parcours (for, while, do‑while, foreach) incluant la récupération des clés. Il introduit les tableaux multidimensionnels, l’accès aux sous‑éléments, et la fusion de tableaux via arraymerge. Ensuite, il couvre les fonctions utilitaires essentielles : count/sizeof pour la taille, inarray pour la recherche, shuffle et arrayrand pour le hasard, sort/rsort pour le tri, implode/join et explode pour la conversion entre chaînes et tableaux, ainsi que arraykeys et arrayvalues pour extraire respectivement les clés et les valeurs. Chaque concept est présenté avec un exemple de code et son résultat, soulignant la souplesse du typage faible de PHP. La leçon se conclut en rappelant l’importance de ces outils pour les prochaines vidéos.
Chapters
Bonjour à tous et bienvenue dans cette nouvelle leçon de PHP. Aujourd'hui, nous allons voir les tableaux. À l'inverse d'une variable scalaire qui ne peut contenir qu'une seule valeur, un tableau est une structure qui contient plusieurs valeurs à la fois. En PHP, il y a plusieurs manières de déclarer un tableau. La méthode la plus classique est la suivante: on mettra l'identifiant du tableau en guise de variable, par exemple tab, et array comme ça. La fonction array permet de déclarer des éléments du tableau. Entre les parenthèses, on va mettre directement les valeurs que l'on souhaite mettre. Par exemple, la chaîne de caractères PHP, serveur et 7. Bon, ça sous-entend que le langage c'est PHP et s'exécute sur le serveur, et ça c'est la dernière version majeure du PHP. Donc maintenant on dispose d'un tableau et pour accéder à un de ses éléments, on On va procéder de la manière classique d'ailleurs qui est connue dans les autres langages de programmation. Par exemple on va mettre ici echo tab et on va mettre 0. Dans ce cas 0 c'est l'index de l'élément. Donc le premier élément est indexé par 0, le deuxième c'est 1 et le troisième c'est 2. En réalité le tableau que l'on vient de créer est appelé un tableau indexé parce qu'il contient des index qui permettent de référencer les éléments un à un. Donc maintenant quand j'exécute cette page je suis censé avoir la valeur PHP. De la même manière, si je mets par exemple le 2, dans ce cas je vais avoir la valeur 7. Vous avez certainement remarqué qu'au sein du tableau j'ai déclaré des types différents. Donc il y a 2 chaînes de caractères et ici c'est un entier. En réalité, puisque PHP est un langage faiblement typé, alors rien n'empêche de mettre plusieurs types différents dans le même tableau. Il existe une fonction PHP qui permet d'énumérer les éléments du tableau d'un seul coup. Il s'agit de la fonction print_r. Comme ça. Entre les parenthèses, on mettra le nom du tableau, donc tab. Quand j'exécute, alors je vais avoir le résultat suivant: array pour dire que c'est un tableau. Le premier index contient la valeur PHP, deuxième index qui est 1 contient la valeur serveur, et le troisième index contient la valeur 7. Il existe une autre méthode qui permet de déclarer un tableau. On va faire comme ça, donc tab, et directement je mettrai les index de cette manière. Je mettrai par exemple 0, égal PHP, tab1 égal serveur et tab2 égal asset. Donc là c'est une déclaration explicite des index 1 en 1. Dans ce cas je mets la valeur 0, 1 et 2. Il faut savoir que je suis pas obligé d'incrémenter de 1, c'est-à-dire que je peux bien déclarer l'élément 0, l'élément 1 et l'élément 10 directement en laissant les autres éléments vides. Dans ce cas on aura toujours le même résultat. Donc rien ne change. La troisième méthode, c'est la déclaration implicite des index. Bon, je mettrai des index vides. Dans ce cas, c'est le PHP qui va se charger de deviner les index à mettre. Bon, il va commencer par défaut de la valeur 0, il va incrémenter de 1. Donc maintenant quand j'exécute, j'ai toujours le même résultat. Par contre, imaginez que j'ai explicité le premier index, par exemple 10. Dans ce cas, le deuxième index sera par défaut 11 et le dernier sera 12. Donc maintenant j'exécute. On voit bien que le premier index c'est 10, le deuxième c'est 11, le troisième c'est 12. Donc là il s'agit des tableaux indexés, c'est-à-dire qu'on déclare des index afin de référencer les éléments du tableau. Mais on peut aussi déclarer un tableau associatif. Dans ce cas, au lieu de mettre des index, je mettrai des clés sous forme de chaînes de caractères comme ceci. Par exemple là je vais mettre la valeur langage, voilà, et là je mettrai la valeur par exemple exécution, voilà. Mieux éviter de mettre les accents. Et là je vais mettre par exemple version. Alors là il s'agit bien d'un tableau associatif, c'est-à-dire au lieu de mettre des index je mets carrément des clés qui sont encore plus explicites. D'ailleurs c'est une méthode qui permet de mieux désigner l'élément contenu. Dans ce cas il suffit de lire langage, alors on s'attend forcément à un nom de langage de programmation qui va représenter la valeur de cette entrée. Donc maintenant j'exécute et j'ai maintenant les clés qui remplacent les index, donc langage, exécution et Et version. Bon, afin de déclarer ce tableau dans une seule ligne, on peut faire ceci: tab= array. Et là, on va mettre les couples clé et valeur. Par exemple, je mettrai langage et je mettrai le symbole égal et chevron de fermeture, ou bien le symbole supérieur, et je mets ici PHP. C'est-à-dire que ça, c'est la clé, et ça, la valeur qui va avec. Donc maintenant, deuxième entrée. Exécution qui pointe sur serveur. Et la troisième entrée, je mettrai version qui pointe sur la valeur 7. De la même manière, quand j'exécute, le résultat ne change pas. Si on veut parcourir un tableau d'un seul coup, ça veut dire au lieu de l'afficher de cette manière, je peux afficher ses éléments un à un. Alors on peut utiliser soit les boucles traditionnelles comme la boucle for, la boucle while ou bien la boucle do-while. Sinon il y a une boucle qui est spécifique aux tableaux qui s'appelle forEach. On va la déclarer de cette manière, donc forEach, on va mettre le nom du tableau tab avec le mot-clé as et là par exemple val. C'est-à-dire que l'on va parcourir le tableau élément par élément et chaque entrée on va l'affecter à la variable val que je vais exploiter ici. Je mettrai par exemple écho val concaténé avec un retour à la ligne pour afficher une entrée par ligne. Donc maintenant j'exécute et ça m'affiche PHP Server 7. Ici je veux aussi afficher les clés, alors je mettrai dans ce cas as, par exemple key, val, comme ça. C'est-à-dire que je vais récupérer la clé qui pointe sur la valeur. Maintenant je vais afficher ici aussi la clé, donc je mettrai key concaténé avec deux points concaténé avec val. Bon, j'exécute et ça m'affiche langage PHP, exécution serveur et version 7. On peut aussi déclarer des tableaux à plusieurs dimensions. Là par exemple, je vais déclarer un tableau qui s'appelle tab1 qui contient les valeurs a et b. Un autre tableau qui s'appelle tab2 qui contient les valeurs c et d. Donc maintenant je dispose de 2 tableaux. Je vais déclarer un autre tableau que j'appellerai tab égale array et dans la première entrée je vais mettre tab1, c'est-à-dire c'est carrément un tableau, et deuxième entrée c'est tab2. Alors là on imagine que le tableau tab est un tableau à 2 dimensions qui contient des lignes et des colonnes. Dans ce cas, pour accéder à chacun des éléments du tableau, il faut mettre 2 crochets. Par exemple, pour accéder à la valeur 1, je mettrai echo tab1 . Tab, donc 2 crochets. Ici je mettrai le numéro de la ligne, par exemple la ligne 0, c'est l'index 0 qui référence le premier tab. Et maintenant je vais mettre l'index qui représente la valeur, à savoir ici donc 0. Alors là ça va m'afficher la valeur A. Et si je mets ici par exemple la valeur 1, dans ce cas je vais afficher la valeur C parce que c'est la deuxième ligne, ça veut dire le deuxième tableau, et la première entrée, donc ça veut dire C. Dans ce cas j'exécute et ça me donne C. Sinon je peux carrément fusionner ces 2 tableaux dans un seul et unique tableau qui s'appelle tab. Alors je mettrai la fonction array_merge comme ça et dedans je mettrai les 2 tableaux tab1 et tab2. Alors là je viens de créer un seul tableau qui contient les entrées de ces 2 tableaux réunis et bien sûr ce n'est pas un tableau à 2 dimensions mais c'est uniquement un tableau à une dimension qui contient dans ce cas 4 entrées. Alors si je mets par exemple println tab, je vais avoir le résultat suivant. Donc index 0 c'est A, index 1 c'est B, index 2 c'est C et index 3 c'est D. Alors on constate bien que c'est un tableau à une dimension qui contient 4 entrées. Si on veut connaître la taille du tableau, on fait appel à la fonction count. Par exemple, echo count tab. Dans ce cas, j'exécute et ça m'affiche 4, donc ça contient 4 éléments. Sinon, il y a aussi la fonction sizeof qui est un alias de la fonction count, ça veut dire qu'ils font la même chose. J'exécute, ça donne toujours 4. Il y a aussi la fonction in_array qui permet de vérifier si une entrée figure bel et bien dans mon tableau ou non. Par exemple, je mettrai ici if in_array, parce que ça retourne une valeur booléenne, Donc là, la valeur à chercher par exemple c'est 1 et le tableau concerné c'est tab. C'est-à-dire je vais chercher est-ce que 1 figure dans le tableau. Si oui, donc in a list ça retourne true, sinon c'est false. Je vais mettre par exemple ici echo exists, else echo n'existe pas. Donc maintenant quand j'exécute, je suis censé avoir la valeur exists. Voilà, parce que 1 existe bel et bien. Bon, si je mets par exemple la valeur x, dans ce cas x ne figure pas dans mon tableau. Alors ça me donne n'existe pas. Il y a aussi la fonction shuffle qui permet de mélanger les éléments du tableau de manière pseudo-aléatoire. Par exemple, donc là je vais mettre la fonction shuffle tab. Alors là je viens de mélanger les éléments de mon tableau. Quand je mettrai par exemple println tab, alors ça me donne première entrée c'est C, alors ce n'est plus A, deuxième entrée c'est D, troisième entrée c'est B, Et quatrième entrée, c'est un. J'actualise et ça change automatiquement. À chaque fois, ça change d'une manière pseudo-aléatoire. Il y a aussi la fonction sort qui permet de trier les éléments de mon tableau dans l'ordre alphanumérique direct. Dans ce cas, donc c'est déjà trié, donc ça va me donner la valeur A B C D. Rien ne va changer. Voilà A B C D. Sinon, il y a la fonction lsort qui permet de trier les éléments dans l'ordre alphanumérique inverse. Dans ce cas, j'exécute et ça me donne D C B A. Il existe aussi la fonction arrayland qui permet de retourner un index au hasard. Bon, je mettrai par exemple écho arrayland tab. Dans ce cas, ça va me retourner soit l'index 0, soit 1, soit 2, soit 3. C'est pas la valeur mais c'est l'index. Bon, j'exécute. Bon, ça me donne 2, 3, 1, etc. Bon, ça veut dire c'est une valeur comprise entre 0 et 3. Et si je veux carrément afficher l'entrée du tableau et non pas son index, bon, je mettrai tout simplement ici tab, array length, et dans ce cas ça me retourne un index au hasard que je mettrai dans le tableau et qui m'affiche une entrée d'une manière aléatoire. Donc maintenant j'actualise, bon ça me donne soit B soit A, ça veut dire une des entrées de mon tableau qui sera affichée. Il existe aussi la fonction implode qui permet de convertir mon tableau en une chaîne de caractères. Bon je mettrai par exemple echo implode comme ça, voilà, qui contient 2 arguments. Deuxième argument c'est le tableau concerné, Et le premier argument c'est le séparateur que je souhaite mettre, par exemple le tiret. Dans ce cas, ce que je suis censé avoir c'est une chaîne de caractères qui contient les entrées de mon tableau espacées par des tirets. Alors ça va me donner a-b-c-d. Donc ça c'est ma chaîne. Alors figurez-vous bien que c'est une chaîne de caractères qui m'a été retournée. La fonction join est l'alias de la fonction implode, ça veut dire qu'ils font la même chose, donc ça me retourne le même résultat, donc a b c d en guise de chaîne de caractères. L'inverse, c'est explode, c'est-à-dire imaginez que vous avez une chaîne de caractères. Maintenant je vais effacer ça. Imaginez que j'ai la chaîne salut à tous. Maintenant imaginez que je veux scinder ma chaîne au niveau des espaces. Alors je vais créer un tableau qui s'appelle tab égal à la fonction explode qui contient aussi 2 arguments. Le deuxième argument c'est la chaîne et le premier argument c'est le motif qui me permet de spécifier l'endroit où je veux décomposer ma chaîne. Je mettrai tout simplement un espace. Dans ce cas, je vais prendre ma chaîne qui s'appelle str. Donc je vais l'éclater au niveau des espaces et ça va me retourner un tableau. Mon tableau dans ce cas contiendra 3 éléments, à savoir salut, à et tous. Bon, si je mets par exemple echo countTab, alors ça devrait afficher 3, donc 3 éléments. Et si je veux afficher les éléments de mon tableau, je mettrai printTab et ça va m'afficher donc salut, à, tous en tant qu'éléments de tableau. Donc l'entrée 0 c'est Salut, l'entrée 1 c'est A et l'entrée 2 c'est Tous. Maintenant on va redéclarer le tableau de tout à l'heure, à savoir notre tableau associatif tab avec les entrées langage PHP, exécution serveur et version Maintenant, si je veux récupérer les clés de mon tableau, il existe aussi une fonction qui s'appelle array_keys qui permet de créer un tableau qui contient que les clés du tableau concerné. Dans ce cas, je mettrai par exemple println et comme paramètre je mettrai tab. Dans ce cas, les keys permettent de retourner un tableau et ce tableau contient les clés du tableau tab, à savoir langage, exécution et version. Donc j'exécute et ça m'affiche donc l'entrée 0 c'est langage, l'entrée 1 c'est exécution, l'entrée 2 c'est version. Et si je veux récupérer les valeurs, donc je mettrai les values. Alors là je vais avoir l'entrée 0 c'est PHP, l'entrée 1 c'est serveur et l'entrée 2 c'est 7. Ces deux fonctions sont pratiques dans certaines situations. D'ailleurs, dans les prochaines leçons, nous allons essayer de mettre en pratique tout ce que nous avons appris aujourd'hui. Merci pour votre attention et à la vidéo prochaine.
More from Yamossoun

Algorithme de calcule de la racine carrée par dichotomie #dichotomy #squareroot #algorithm









