1

Manipulation de tableaux en PHP – Partie 1

Salut les amis !

Aujourd’hui, je vais vous parler des tableaux en PHP.

Les tableaux PHP, c’est quoi ?

Les tableaux PHP sont un des éléments de base de tous vos développements. Même dans le cas d’un développement orienté objet, les tableaux sont très souvent présents. Si vous ne voulez pas les utiliser, il arrive parfois que les résultats, ou données retournées par certaines API de développement, soient des tableaux.

Un tableau est en fait simplement un ensemble de valeurs indexées par des identifiants, les index. Ces index peuvent être des nombres ou bien des valeurs alphabétiques de votre choix.

$monTableau = array("monIdentifiant" => "maValeur");
echo $monTableau['monIdentifiant']; // Cette ligne écrira "maValeur"

Je pense que vous comprenez  basiquement l’utilisation d’un tableau.

Lors de vos développements, vous serez très souvent confronté à des questions de manipulation des tableaux.

Comment faire pour réunir ces deux tableaux ? Comment trouver uniquement cette valeur ? Est ce que je peux couper mon tableau ? Est ce que Christophe Maé arrêtera de chanter un jour ?

Sachez mes amis que PHP possède des fonctions de gestion de tableaux très intéressantes et qui vont vous permettre de réduire considérablement les lignes de code à taper et de répondre à certaines de vos demandes (et d’optimiser votre relecture accessoirement…). Ça vous intéresse ? On en parle tout de suite !

Des fonctions de manipulation utiles

Array_push()

Comme son nom l’indique, cette fonction va vous permettre de « pousser » des valeurs à la fin de votre tableau.

<?php
    $boissons = array("Coca-Cola", "Orangina");
    array_push($boissons, "Red Bull", "Gini");
?>
Array
(
    [0] => Coca-Cola
    [1] => Orangina
    [2] => Red Bull
    [3] => Gini
)

Nos deux boissons ont bien été ajoutées à la fin de notre tableau.

Array_merge()

Cette fonction ressemble un peu à la précédente mais cette fois, vous allez pouvoir fusionner deux tableaux. Vous devez toutefois faire attention à vos index.
Si vos index sont numériques, cela ne posera pas de problèmes, les clés seront réindexés. Si par contre, vos index sont des mots, et que vos deux tableaux ont le même index, les valeurs seront écrasées pour ne conserver que la dernière. Un exemple :

<?php
$chansons1 = array(
    "Christophe Mae" => "Jeune Demoiselle",
    "Johnny" => "Allumez le feu"
);
$chansons2 = array(
    "Christophe Mae" => "On s'attache",
    "Johnny" => "Oh Marie"
);
array_merge($chansons1, $chansons2);
?>
Array
(
    [Christophe Mae] => On s'attache
    [Johnny] => Oh Marie
)

Comme vous pouvez le voir, les clés communes ont été écrasées, nous avons perdu Jeune demoiselle de Christophe Maé et Allumer le feu de Johnny. Dans la réalité, cette perte ne serait pas très grave, mais en développement, cela risque de poser quelques problèmes. Attention donc à bien vérifier vos index avant d’utiliser cette fonction.

Array_shift()

Cette fonction va tout simplement vous permettre de supprimer la première ligne de votre tableau. Elle peut se révéler très utile dans le cas d’import CSV par exemple pour supprimer la première ligne contenant les entêtes de colonne et de ne garder que les données.

<?php
$chansons = array(
    "Christophe Mae" => "Jeune Demoiselle",
    "Johnny" => "Allumez le feu"
    "Lorie" => "Weekend"
);
array_shift($chansons);
?>
Array
(
    [Johnny] => Oh Marie
    [Lorie] => Weekend
)

Ici, nous avons correctement retiré la première valeur de notre tableau.

Array_slice()

La fonction array_slice va vous permettre de couper un tableau afin de n’en conserver qu’une partie.
Vous pouvez choisir le point de départ de la découpe, la longueur, ainsi qu’un paramètre booléen afin de préserver ou non, la valeur des index dans le tableau final (par défaut les index sont réinitialisés à partir de 0).

<?php
$chansons = array(
    "ACDC" => "Back In Black",
    "Scorpions" => "Still Loving You",
    "Christophe Mae" => "Jeune Demoiselle",
    "Johnny" => "Allumez le feu"
    "Lorie" => "Weekend"
);
$filteredSongs = array_slice($chansons, 0, 2);
// On récupère 2 éléments du tableaux à partir de 0.
?>
Array
(
    [ACDC] => Back In Black
    [Scorpions] => Still Loving You
)

Array_keys()

Cette fonction va vous permettre de générer un nouveau tableau contenant tous les index du tableau que vous lui passez en paramètre.

<?php
$chansons = array(
    "ACDC" => "Back In Black",
    "Scorpions" => "Still Loving You",
    "Christophe Mae" => "Jeune Demoiselle",
    "Johnny" => "Allumez le feu"
    "Lorie" => "Weekend"
);
$keys = array_keys($chansons);
?>
Array
(
    [0] => ACDC
    [1] => Scorpions
    [2] => Christophe Mea
    [3] => Johnny
    [4] => Lorie
)

Voila pour la première partie. Il existe bien évidemment beaucoup d’autres fonctions PHP permettant de manipuler vos tableaux et nous vous en présenterons quelques unes dans un prochain article.

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.


5 + 3 =