W3docs

join()

La funzione join() in PHP unisce gli elementi di un array in una stringa. È nota anche come funzione implode().

Introduzione

La funzione join() in PHP unisce gli elementi di un array in una singola stringa, inserendo un separatore (spesso chiamato "colla") tra ciascun elemento. È un alias di implode() — le due funzioni sono identiche, quindi puoi usare il nome che risulta più leggibile nel tuo codice.

Questa pagina illustra la sintassi di join(), entrambi i modi per chiamarla, cosa succede con valori di tipo misto e annidati, e gli errori comuni da evitare.

Sintassi

join(string $separator, array $array): string
join(array $array): string
  • $separator — la stringa di separazione inserita tra ciascun elemento. Se omessa, viene usata una stringa vuota "".
  • $array — l'array i cui valori vengono uniti. Vengono usati solo i valori; le chiavi dell'array vengono ignorate.

La funzione restituisce la stringa unita.

Ordine degli argomenti: Poiché join() è un alias di implode(), l'ordine tradizionale "separatore prima, array secondo" è quello da utilizzare. La forma legacy in cui l'array veniva prima è stata rimossa in PHP 8.0.

Esempio base

php— editable, runs on the server

Questo produce l'output:

apple, banana, orange

Qui join() incolla i tre valori insieme con ", " tra di essi. Il risultato viene memorizzato in $fruit_string e stampato con echo.

Unire senza separatore

Se si chiama join() con solo l'array, gli elementi vengono concatenati direttamente senza nulla tra loro:

<?php

$parts = ["2024", "06", "21"];
echo join($parts);        // 20240621
echo "\n";
echo join("-", $parts);   // 2024-06-21

Come vengono convertiti i valori

Ogni valore viene convertito in stringa prima di essere unito, seguendo le normali regole di conversione in stringa di PHP:

<?php

$mixed = [1, 2.5, true, false, null, "text"];
echo join("|", $mixed);

Questo produce l'output:

1|2.5|1|||text

Nota che true diventa "1", mentre false e null diventano stringhe vuote — ecco perché si vedono separatori | consecutivi. Fai attenzione quando unisci array che possono contenere booleani o null.

Costruire output in stile CSV o HTML

join() è utile ogni volta che occorre appiattire una lista in testo — stringhe di query, righe CSV o un elenco di attributi 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>';

Errori comuni

  • Gli array multidimensionali non funzionano. join() appiattisce solo un livello. Un elemento array annidato viene convertito nella stringa letterale "Array" e genera un avviso. Appiattire prima i dati.
  • join() è l'inverso di explode(). Usa explode() per dividere una stringa in un array, e join()/implode() per riunirla.
  • Le chiavi vengono scartate. Sia le chiavi numeriche che quelle stringa vengono ignorate; vengono uniti solo i valori, nel loro ordine interno.

Funzioni correlate

  • implode() — funzione identica con il suo nome principale.
  • explode() — divide una stringa in un array (operazione inversa).
  • str_split() — divide una stringa in parti di lunghezza fissa.

Pratica

Pratica
Qual è la funzione principale di implode() in PHP?
Qual è la funzione principale di implode() in PHP?
Was this page helpful?