Accueil » Articles » Développez des sites web dynamiques avec PhP et MySQL [Tuto en cours]

Développez des sites web dynamiques avec PhP et MySQL [Tuto en cours]

LES FONCTIONS AFFECTANT LES ARRAY

Dans ce nouveau chapitre, nous allons voir des fonctions nous permettant de parcourir des tableaux en PhP, de rechercher des valeurs dans un tableau, de compter ou comparer des tableaux ou encore d’ajouter, de supprimer ou de trier des éléments dans un tableau.

Nous allons commencer immédiatement avec des fonctions nous permettant de parcourir un tableau ou de rechercher des éléments dans un tableau.

Parcourir et rechercher dans un tableau

Commençons avec la fonction array_keys(). Cette fonction va retourner les clefs, ou index d’un tableau dans un nouveau tableau.

Cette fonction n’a besoin que d’un argument obligatoire pour fonctionner : le tableau dont on veut récupérer les clefs.

Cette fonction s’utilise de la manière suivante :

Utilisation de la fonction PhP array_keys

Affichage de la fonction PhP array_keys

On utilise la fonction print_r() que l’on connaît déjà pour afficher rapidement le tableau retourné.

On peut ajouter deux arguments optionnels à la fonction array_keys() : un premier de type valeur et un second de type strict.

Le premier argument facultatif va donc être une valeur, et seulement les clefs avec la valeur spécifiée vont être retournées. Le second argument facultatif fonctionne avec le précédent seulement et va pouvoir prendre soit la valeur true, soit la valeur false. En indiquant la valeur true, l’égalité sur le type de valeur est également testée (le chiffre 306 n’est pas égal à la chaîne de caractères « 306 »).

Exemple :

Test sur le type de valeurs avec la fonction PhP array_keys

Affichage du test sur le type de valeurs avec la fonction PhP array_keys

Deuxième fonction : la fonction array_values(). Comme son nom l’indique, cette fonction va retourner toutes les valeurs d’un tableau, sans les clefs, dans un nouveau tableau.

Cette fonction va s’utiliser comme ceci :

Utilisation de la fonction PhP array_values

Affichage de la fonction PhP array_values

La fonction array_key_exists() va vérifier si une clef existe, et renvoyer true le cas échéant ou false si la clef n’a pas été trouvée. Cette fonction nécessite deux arguments pour fonctionner : la clef à rechercher et le tableau dans lequel faire la recherche.

On l’utilise généralement comme ceci :

Utilisation de la fonction PhP array_key_values

Affichage de la fonction PhP array_key_values

Ici, si la clef existe, la fonction array_key_exists() va nous renvoyer true, et on va ainsi echo la phrase « La clef existe » car PhP comprend très bien que l’on utilise des booléens dans notre condition. Dans le cas contraire, ce sera la phrase « La clef n’existe pas » qui sera echo.

Fonction suivante : la fonction array_search(). Cette fonction va rechercher une valeur dans un tableau et nous retourner la clef qui lui est associée. Elle a besoin de deux arguments pour fonctionner : la valeur à rechercher, et le tableau dans lequel faire la recherche.

Cette fonction fonctionne de la manière suivante :

Utilisation de la fonction PhP array_search

Affichage de la fonction PhP array_search

Cette fonction, tout comme la fonction array_values(), peut utiliser un troisième paramètre strict optionnel qui va également vérifier l’égalité des types de valeurs.

La fonction in_array(), enfin, va rechercher une valeur dans un tableau et renvoyer soit la valeur true (si la valeur est trouvée), soit la valeur false (si la valeur n’est pas trouvée).

Cette fonction, tout comme la précédente, a besoin de deux arguments pour fonctionner : la valeur à rechercher et la tableau dans lequel doit être faite la recherche.

On l’utilise comme ceci :

Utilisation de la fonction PhP in_Array

Affichage de la fonction PhP in_Array

A savoir que la fonction in_array() est sensible à la casse (dans l’exemple ci-dessus, par exemple, elle renverrait false pour la recherche du mot « pierre » ou « PIERRE ».

Cependant, par défaut, cette fonction n’effectue pas de test sur le type de valeur. Ainsi, pour cette fonction, le chiffre 01 et la chaine de caractères « 01 » sont identiques.

Utilisation avancee de la fonction PhP in_Array

Deuxieme affichage de la fonction PhP in_Array

Compter, comparer des tableaux

La fonction count() va tout simplement retourner le nombre d’éléments d’un tableau.

On va utiliser cette fonction comme ceci :

Utilisation de la fonction PhP count

Affichage de la fonction PhP count

La fonction array_count_values() va quant à elle renvoyer les valeurs trouvées dans un tableau et nous dire combien de fois elle a rencontré ces valeurs. Le résultat est renvoyé sous forme d’un tableau.

Cette fonction s’utilise comme ceci :

Utilisation de la fonction PhP array_count_values

Affichage de la fonction PhP array_count_values

La fonction array_diff_assoc() va comparer les clefs et les valeurs de deux tableaux (ou plus) et renvoyer les différences.

Le résultat renvoyé est un tableau contenant les entrées du premier tableau donné qui ne sont pas présentes dans le second tableau.

Cette fonction prend autant d’arguments qu’il y a de tableaux à analyser et on l’utilise comme ceci :

Utilisation de la fonction PhP array_diff_assoc

Affichage de la fonction PhP array_diff_assoc

Notez que cette fonction est sensible à la casse à la fois sur les clefs et sur les valeurs.

Si on ne veut comparer que les clefs ou que les valeurs de deux tableaux ou plus, on utilisera respectivement les fonction array_diff_key() et array_diff() qui fonctionnent exactement de la même manière que array_diff_assoc().

Utilisation des fonctions PhP array_diff_key et array_diff

Affichage des fonctions PhP array_diff_key et array_diff

Si l’on souhaite maintenant faire le contraire, à savoir comparer deux tableaux ou plus et faire ressortir les similitudes, nous allons utiliser la fonction array_intersect_assoc().

Cette fonction va une nouvelle fois comparer les clefs et valeurs de deux tableaux ou plus et renvoyer, sous forme d’un tableau, les similitudes.

On va l’utiliser comme ceci :

Utilisation de la fonction PHP array_intersect_assoc

Affichage de la fonction PHP array_intersect_assoc

Notez encore que l’on peut utiliser les fonctions array_intersect_key() ou array_intersect() si l’on ne veut comparer respectivement que les clefs ou que les valeurs de différents tableaux.

Utilisation des fonctions PhP array_intersect_ket et array_intersect

Affichage des fonctions PhP array_intersect_ket et array_intersect

Ajouter et supprimer des éléments ou des valeurs d’un tableau

La fonction array_fill() sert a remplir un tableau avec des valeurs. Elle retourne donc un tableau en résultat. Cette fonction a besoin de trois arguments pour fonctionner :

  • Le premier est le premier index du tableau retourné ;
  • Le second correspond au nombre d’éléments à insérer ;
  • Le troisième est la valeur à utiliser pour remplir le tableau.

Cette fonction fonctionne de cette façon :

Utilisation de la fonction PHP array_fill

Affichage de la fonction PHP array_fill

La fonction array_fill_keys() va nous servir à remplir un tableau avec des valeurs en spécifiant les clefs voulues.

Cette fonction nécessite deux arguments. Le premier argument est un tableau contenant les valeurs qui seront utilisées comme clefs, tandis que le second est la valeur à utiliser pour remplir le tableau.

On utilise cette fonction comme ceci :

Utilisation de la fonction PHP array_fill_keys

Affichage de la fonction PHP array_fill_keys

Les fonctions array_push() et array_pop() servent respectivement à insérer des éléments en fin de tableau et à supprimer le dernier élément d’un tableau.

On les utilise comme cela :

Utilisation des fonctions PHP array_push et array_pop

Affichage des fonctions PHP array_push et array_pop

La fonction array_unshift() sert à insérer des éléments au début d’un tableau. La fonction array_shift(), au contraire, va supprimer le premier élément d’un tableau et retourner la valeur de l’élément supprimé.

Voici comment on utilise ces fonctions :

Utilisation des fonctions PhP array_unshift et array_shift

Affichage des fonctions PhP array_unshift et array_shift

Enfin, la fonction array_splice() va nous servir à supprimer certains éléments d’un tableau à partir d’une certaine position et à les remplacer par de nouveaux éléments. Cette fonction retourne également un tableau contenant les éléments supprimés.

Pour fonctionner, cette fonction a besoin de deux arguments : le tableau que l’on souhaite modifier et un nombre spécifiant à partir d’où la fonction va commencer à supprimer des éléments. Rappelez vous bien que le premier élément possède la position 0.

Utilisation basique de la fonction PhP array_splice

Affichage basique de la fonction PhP array_splice

On peut ajouter deux autres arguments facultatifs à cette fonction : le premier va spécifier combien d’éléments doivent être supprimés, le deuxième va être un tableau contenant les éléments qui devront être insérés dans le tableau d’origine.

Utilisation de la fonction PhP array_splice avec ses paramètres facultatifs

Affichage de la fonction PhP array_splice avec ses paramètres facultatifs

Astuce : si la valeur du deuxième argument est une valeur négative, la fonction va commencer par la fin du tableau. Avec -2 par exemple la fonction commencera son travail à partir de l’avant dernier élément du tableau.

Utilisation avancée de la fonction PhP array_splice

Affichage suite a une utilisation avancée de la fonction PhP array_splice

Trier, combiner des tableaux

La première fonction à connaître ici est array_merge(), qui va simplement combiner plusieurs tableaux en un nouveau.

Cette fonction prend autant d’arguments que de tableaux que vous désirer combiner.

Elle s’utilise comme ceci :

Utilisation de la fonction PhP array_merge

Affichage du résultat de la fonction PhP array_merge

Ensuite, nous avons array_combine(), qui va créer un tableau associatif en combinant deux tableaux numérotés.

Pour que cette fonction marche, les deux tableaux doivent avoir le même nombre d’éléments.

Les valeurs du premier tableau combiné serviront de clefs aux valeurs du second tableau combiné.

En pratique, nous avons ceci :

Utilisation de la fonction PHP array_combine

Affichage de la fonction PHP array_combine

La fonction array_unique() va supprimer les doublons d’un tableau. Ainsi, si deux valeurs dans un tableau sont égales, seule la première occurrence de cette valeur sera conservée.

Si l’on applique cette fonction sur un tableau numéroté, c’est un tableau numéroté qui sera renvoyé. Si on l’applique sur un tableau associatif, un tableau associatif sera renvoyé.

Cette fonction est sensible à la casse et effectue également un test sur le type de valeur (le chiffre 01 n’est pas égal à la chaîne de caractères « 01 »).

Voyons immédiatement un exemple ensemble :

Utilisation de la fonction PhP array_unique

Affichage de la fonction PhP array_unique

La fonction sort() va nous permettre d’ordonner les valeurs d’un tableau numéroté de la plus petite à la plus grande (« a » étant inférieur à « b »).

Cette fonction ne renvoie pas de nouveau tableau avec les valeurs classées mais change le tableau de base en soi en en ordonnant les valeurs.

Pour classer les valeurs d’un tableau numéroté de la plus grande à la plus petite, nous utiliserons cette fois ci la fonction rsort().

Ces deux fonctions vont s’utiliser comme cela :

Utilisation des fonctions sort et rsort en PhP

Affichage des fonctions sort et rsort en PhP

Enfin, nous allons pouvoir ordonner les tableaux associatifs soit grâce à leurs clefs, soit grâce à leurs valeurs.

Nous utiliserons la fonction ksort() pour classer un tableau associatif dans un ordre croissant par rapport à ses clefs. Pour le classer dans un ordre décroissant toujours par rapport à ses clefs, nous utiliserons la fonction krsort().

Encore une fois, les modifications sont effectuées directement sur le tableau de base.

Ces deux fonctions vont s’utiliser de cette façon :

Utilisation des fonctions ksort et krsort en PhP

Affichage des fonctions ksort et krsort en PhP

Pour classer un tableau associatif dans un ordre croissant ou décroissant selon ses valeurs, nous utiliserons respectivement les fonctions asort() ou arsort().

Ces deux fonctions marchent exactement comme les précédentes :

Utilisation des fonctions asort et arsort en PhP

Affichage des fonctions asort et arsort en PhP

Et nous en avons enfin terminé avec les fonctions PhP affectant les tableaux !

Dans le prochain chapitre, nous verrons les fonctions de date et de temps et puis nous pourrons finalement passer à d’autres choses très intéressantes comme la création de formulaires en PhP et les bases de données entre autres.

16 commentaires

  1. abdelmalek derouich

    merci infiniment pour ces cours, j’été vraiment nul et maintenant je commence à n’avancer dans la création des sites WEB en utilisant le HTML, le CSS et le PHP et c’est grâce à vos cours minutieusement expliqués.

  2. bonjours ,je suis encore un petit peux débutant dans le codage , j’aimerais faire une page d’inscription et une de connexion en php et mysql je dispose d’une base de donnée . merci d’avance pour votre aide .
    ps : j’adore vos vidéo =)

  3. Bocomba William Edouard

    bonjour,

    je suis William un de vos disciple Abidjan. En lisant le code source du site pierre-girraud.fr j’ai constater un bon nombre de balise link et de balise meta. Et je me pose la question de savoir a quoi elle servent? Par ailleurs je suis impatient de savourer la suite du cour sur php et mysql. Merci d’avance et surtout merci pour tout.

    Amicalement

    William

  4. Bonjour,

    Je te remercie de tout mon cœur Pierre!
    Tu consacre ton temps à partager des choses meilleures.
    Je suis débutant mais je croix de devenir pro, tes tutos sont claires et faciles à comprendre.
    Merci infiniement

  5. Salut, c’est vraiment génial ce que tu fais mais j’ai encore un problème, je n’arrive pas a créer un formulaire pour envoyer un mail ou pouvoir communiquez avec moi (pas un bloc mais vraiment une page de contact).
    Merci de bien vouloir m’aider…

    • Bonjour,

      J’explique déjà tout cela dans mes cours HTML / CSS et PhP… Je ne peux donc que vous conseillez de revoir les parties consacrées à cela (lien pour envoyer un fichier / un mail et partie formulaire HTML et PhP).

      Bonne continuation,
      Pierre

  6. Vous etes genial, j’ai vu vos cours sur youtube et votre adresses qui ma poussé avenir sur votre site. Mr pierre je suis un petit zero de la programmation mais suis pas mal j’aimerai vous assistez dans vos taches pour me former…! merci pour les cours suis content

  7. je voudrais que tu m’explique un peut comment fonctionne les fonction static en phph

  8. bonjour
    merci pour ce cours mais je ne vois pas la partie base de données et pourtant l’intitulé c’est cours complet!!!!

  9. Salut Pierre Giraud,

    Je viens de regarder le tuto sur HTML et CSS, c’est magnifique !!!
    Maintenant j’aimerais creer des sites dynamiques avec PHP MySQL.
    Pourriez vous m’aider s’il vous plait. Merci de votre aide en envoyant des tuto tres tres interessant.

Répondre

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués d'une étoile *

*