join()
La fonction join() en PHP joint les éléments d'un tableau en une chaîne. Elle est aussi connue sous le nom de fonction implode().
Introduction
La fonction join() en PHP joint les éléments d'un tableau en une seule chaîne de caractères, en plaçant un séparateur (souvent appelé la « colle ») entre chaque élément. C'est un alias de implode() — les deux fonctions sont identiques, vous pouvez donc utiliser celle dont le nom vous semble le plus lisible dans votre code.
Cette page couvre la syntaxe de join(), les deux façons de l'appeler, ce qui se passe avec des valeurs de types mixtes ou imbriquées, ainsi que les erreurs courantes à éviter.
Syntaxe
join(string $separator, array $array): string
join(array $array): string$separator— la chaîne de colle insérée entre chaque élément. Si vous l'omettez, une chaîne vide""est utilisée.$array— le tableau dont les valeurs sont jointes. Seules les valeurs sont utilisées ; les clés du tableau sont ignorées.
La fonction retourne la chaîne jointe.
Ordre des arguments : Puisque
join()est un alias deimplode(), l'ordre historique « séparateur en premier, tableau en second » est celui que vous devriez utiliser. La forme ancienne où le tableau venait en premier a été supprimée en PHP 8.0.
Exemple de base
Cela affiche :
apple, banana, orangeIci join() colle les trois valeurs ensemble avec ", " entre elles. Le résultat est stocké dans $fruit_string et affiché avec echo.
Joindre sans séparateur
Si vous appelez join() avec uniquement le tableau, les éléments sont concaténés directement sans rien entre eux :
<?php
$parts = ["2024", "06", "21"];
echo join($parts); // 20240621
echo "\n";
echo join("-", $parts); // 2024-06-21Conversion des valeurs
Chaque valeur est convertie en chaîne avant d'être jointe, selon les règles normales de conversion de chaînes de PHP :
<?php
$mixed = [1, 2.5, true, false, null, "text"];
echo join("|", $mixed);Cela affiche :
1|2.5|1|||textNotez que true devient "1", tandis que false et null deviennent des chaînes vides — c'est pourquoi vous voyez des séparateurs | consécutifs. Faites attention en joignant des tableaux qui peuvent contenir des booléens ou null.
Construction de sorties CSV ou HTML
join() est pratique chaque fois que vous devez aplatir une liste en texte — chaînes de requête, lignes CSV, ou une liste d'attributs HTML :
<?php
$row = ["Alice", "[email protected]", "Admin"];
echo join(",", $row); // Alice,[email protected],Admin
echo "\n";
$classes = ["btn", "btn-primary", "active"];
echo '<button class="' . join(" ", $classes) . '">OK</button>';Pièges courants
- Les tableaux multidimensionnels ne fonctionnent pas.
join()n'aplatit qu'un seul niveau. Un élément tableau imbriqué est converti en la chaîne littérale"Array"et génère un avertissement. Aplatissez d'abord les données. join()est l'inverse deexplode(). Utilisezexplode()pour diviser une chaîne en tableau, etjoin()/implode()pour la reconstituer.- Les clés sont ignorées. Les clés numériques et string sont toutes deux ignorées ; seules les valeurs sont jointes, dans leur ordre interne.
Fonctions associées
implode()— fonction identique sous son nom principal.explode()— divise une chaîne en tableau (l'opération inverse).str_split()— divise une chaîne en morceaux de longueur fixe.