W3docs

join()

La función join() en PHP une los elementos de un array en una cadena. También se conoce como la función implode().

Introducción

La función join() en PHP une los elementos de un array en una sola cadena, colocando un separador (frecuentemente llamado "pegamento" o "glue") entre cada elemento. Es un alias de implode() — ambas funciones son idénticas, por lo que puedes usar la que mejor se lea en tu código.

Esta página cubre la sintaxis de join(), las dos formas de llamarla, qué ocurre con valores de tipos mixtos y valores anidados, y los errores comunes que debes evitar.

Sintaxis

join(string $separator, array $array): string
join(array $array): string
  • $separator — la cadena de unión que se inserta entre cada elemento. Si se omite, se usa una cadena vacía "".
  • $array — el array cuyos valores se unen. Solo se usan los valores; las claves del array se ignoran.

La función devuelve la cadena resultante.

Orden de los argumentos: Como join() es un alias de implode(), el orden histórico "separador primero, array segundo" es el que debes usar. La forma heredada donde el array iba primero fue eliminada en PHP 8.0.

Ejemplo básico

php— editable, runs on the server

Esto produce:

apple, banana, orange

Aquí join() une los tres valores con ", " entre ellos. El resultado se almacena en $fruit_string y se imprime con echo.

Unir sin separador

Si llamas a join() con solo el array, los elementos se concatenan directamente sin nada entre ellos:

<?php

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

Cómo se convierten los valores

Cada valor se convierte a cadena antes de unirse, siguiendo las reglas normales de conversión de cadenas de PHP:

<?php

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

Esto produce:

1|2.5|1|||text

Observa que true se convierte en "1", mientras que false y null se convierten en cadenas vacías — por eso aparecen separadores | consecutivos. Ten cuidado al unir arrays que puedan contener booleanos o null.

Generar salida CSV o HTML

join() es muy útil cuando necesitas convertir una lista en texto — cadenas de consulta, filas CSV o una lista de atributos 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>';

Errores comunes

  • Los arrays multidimensionales no funcionan. join() solo aplana un nivel. Un elemento de array anidado se convierte en la cadena literal "Array" y emite una advertencia. Aplana los datos primero.
  • join() es la operación inversa de explode(). Usa explode() para dividir una cadena en un array y join()/implode() para volver a unirla.
  • Las claves se descartan. Tanto las claves numéricas como las de cadena se ignoran; solo se unen los valores, en su orden interno.

Funciones relacionadas

  • implode() — función idéntica bajo su nombre principal.
  • explode() — divide una cadena en un array (la operación inversa).
  • str_split() — divide una cadena en fragmentos de longitud fija.

Práctica

Práctica
¿Cuál es la función principal de implode() en PHP?
¿Cuál es la función principal de implode() en PHP?
Was this page helpful?