0

Manipulation de tableaux en PHP – Partie 2

Salut les amis !

Aujourd’hui, nous allons encore parler de la manipulation des tableaux en PHP. Nous avions déjà vu quelques fonctions dans cet article mais sachez qu’il existe encore bien d’autres fonctions très utiles pour la manipulation de vos tableaux PHP. Ça vous intéresse ? On en parle tout de suite !

NB: Si vous n’êtes pas super à l’aise avec les tableaux PHP, je vous conseille de lire notre précédent article, qui vous expliquera l’utilisation basique des tableaux PHP.

Encore des fonctions de manipulation utiles !

Array_combine()

Cette fonction va vous permettre de créer un nouveau tableau grâce à deux tableaux distincts, mais pas de n’importe quelle façon. Les valeurs du premiers tableaux deviendront les clés du nouveau, tandis que celles du deuxième deviendront les valeurs du nouveau tableau.

<?php
    $artistes = array("ACDC", "Scorpions");
    $titres = array("Back in Black", "Still Loving You");
    $songs = array_combine($artistes, $titres);
?>

 

Array
(
    [ACDC] => Back In Black
    [Scorpions] => Still Loving You
)

Nous voyons ici que les données du premier tableau ont bien été associées à celle du deuxième.

Array_chunk()

Vous rencontrerez parfois le besoin de découper vos tableaux en plusieurs sous tableaux. C’est ce que cette fonction va vous permettre de faire. Vous lui indiquerez un tableau d’entrée et une valeur de taille, et la fonction s’occupera du reste. Vous obtiendrez un beau tableau multi-dimensionnel contenant vos tableaux découpés à la taille indiquée. Il se peut que votre dernier tableau soit de taille inférieure si le nombre d’éléments présents dans le tableau d’entrée n’est plus suffisant sur la dernière découpe.

<?php
$chansons = array(
    "Christophe Mae" => "Jeune Demoiselle",
    "Johnny" => "Allumez le feu",
    "ACDC" => "Back In Black",
    "Scorpions" => "Still Loving You",
    "Lorie" => "Weekend",
    "Jimmy Somerville" => "You make me feel",
    "Trust" => "Antisocial"
);

$resultat = array_chunk($chansons, 2);
/* Notez qu'un troisième paramètre est disponible, un booléen qui vous permettra de conserver les clés du tableau d'entrée. Par défaut, il vaut FALSE et toutes vos clés sont ré-indexées. */
?>

 

Array
(
    [0] => Array
    (
        [0] => Jeune Demoiselle
        [1] => Allumez le feu
    )
    [1] => Array
    (
        [0] => Back In Black
        [1] => Still Loving You
    )
    [2] => Array
    (
        [0] => Weekend
        [1] => You make me feel
    )
    [3] => Array
    (
        [0] => Antisocial
    )
)

On obtient donc bien des portions de 2 éléments de notre tableau d’entrée. Notez bien le dernier tableau qui ne contient qu’un seul élément, faute de contenu pour le remplir.

Array_diff()

En voila une fonction très intéressante ! Grâce à elle, vous allez pouvoir comparer le contenu de vos tableaux PHP afin d’obtenir en retour les données qui diffèrent.

<?php
$chansons1 = array(
    "Christophe Mae" => "Jeune Demoiselle",
    "Johnny" => "Allumez le feu",
    "Lorie" => "Weekend"
);
$chansons2 = array(
    "Johnny" => "Allez les bleus",
    "Christophe Mae" => "Jeune Demoiselle",
    "Lorie" => "Toute seule"
);
$difference = array_diff($chansons1, $chansons2);
// Ce sont toujours les différences du premier tableau par rapport au deuxième qui sont retournées
?>

 

Array
(
    [Johnny] =>Allumez le feu
    [Lorie] => Weekend
)

Vous noterez que les clés sont préservées dans les données de retour.

Array_pop()

Dans notre premier article, nous parlions de la fonction array_shift() qui nous permettait de retirer le premier élément d’un tableau. Et bien sachez que array_pop() va nous permettre de faire sensiblement la même chose, mais cette fois à la fin de notre tableau. Vous l’aurez sans doute compris, cette fonction supprime le dernier élément de notre tableau et nous le retourne.

<?php
$chansons = array(
    "ACDC" => "Back In Black",
    "Scorpions" => "Still Loving You",
    "Lorie" => "Weekend"
);
$suppr = array_pop($chansons);
?>

 

Array
(
 [ACDC] => Back In Black
 [Scorpions] => Still Loving You
)
// Ici $suppr vaut "Lorie" => "Weekend"

Array_unshift()

Toujours comparativement à array_shift(), sachez qu’il existe la fonction inverse. array_unshift() ne va pas supprimer la première ligne de votre tableau, mais bien en rajouter.

<?php
$chansons = array("Back In Black", "Still Loving You");
array_unshift($chansons, "Antisocial", "The Final Countdown");
// Vous pouvez indiquer autant de paramètres que vous le souhaitez. Chaque valeur sera associée au tableau d'entrée dans l'ordre que vous donnez à vos paramètres
?>

 

Array
(
    [0] => Antisocial
    [1] => The Final Countdown
    [2] => Back In Black
    [3] => Still Loving You
)

Voila pour cette deuxième partie sur les tableaux PHP, j’espère que ça pourra vous servir dans vos développements.

N’hésitez pas à préciser dans les commentaires si certaines fonctions que j’aurais oublié vous semblent utiles à présenter.

A bientôt les amis.

A propos de Romuald

Romuald a écrit 23 articles sur le blog.

Les amis de nos amis sont nos amis, alors partageons !

Laissez un commentaire





Si vous êtes un vrai développeur, vous devez savoir compter.
Alors on vous met au défi !
Si vous réussissez cette épreuve, nous nous ferons une joie de lire votre commentaire.