¿Cuál es la diferencia entre implosion() y join()

3 minutos de lectura

avatar de usuario
Jawer Zeshan

Cuál es la diferencia entre implode() & join() ya que ambos funcionan de la misma manera.

<?php
    $array = array(1,2,3);
    
    echo join(",", $array); // output 1,2,3
    echo implode(",", $array); // output 1,2,3
?>

¿Hay alguna ventaja de usar uno sobre otro?

  • Entonces puedo usar cualquiera de los métodos. No hay tal problema como si JOIN ¿Convertirá una matriz en picadura mucho más rápido que la otra y viceversa?

    – Khawer Zeshan

    28 de julio de 2013 a las 23:28

  • JOIN es más rápido, tiene 3 letras menos 😉

    usuario557846

    28/07/2013 a las 23:30

  • Use ‘unirse’ ya que es más común en la mayoría de los otros lenguajes de programación y, por lo tanto, hace que su código sea más legible. No hay ventajas o desventajas de rendimiento de ninguna manera, así que vaya con la comprensibilidad. stackoverflow.com/a/36974284/467386

    – Tom Auger

    2 de mayo de 2016 a las 2:42


  • implode está resaltado por Notepad ++ join no lo es 😉

    – Lucas

    20 mayo 2021 a las 16:26


Son alias el uno del otro. En teoría, deberían funcionar exactamente igual. Aunque se ha demostrado que usar explotar/implosionar aumenta la genialidad de su código en un 10 %.

  • Creo que es más del 10%

    – Falk

    6 de junio de 2014 a las 21:19

  • Hurra, implode es ortodoxo. github.com/php/php-src/blob/…

    – Herrington Darkholme

    9 de julio de 2014 a las 3:55

  • Para los programadores de Python, la unión es más estándar.

    – jpastor

    7 de agosto de 2014 a las 13:44

  • Creo que es 11.78%

    – loxyboi

    18 de agosto de 2015 a las 12:48

  • implosionar/explotar = del programador ESTILO;

    – Nikunj Madhogaria

    6 de septiembre de 2015 a las 7:27


avatar de usuario
Erman Belegu

Unirse: Join es un alias de implode().

Ejemplo:

<?php
$arr = array('Test1', 'Test2', 'Test3');
$str = join(",", $arr);
echo $str; 
?>

Salida: Prueba1, Prueba2, Prueba3.

implosionar: implode Devuelve una cadena de elementos de matriz.

Ejemplo:

<?php
$arr = array('Test1', 'Test2', 'Test3');
$str = implode(",", $arr);
echo $str; 
?>

Salida: Prueba1, Prueba2, Prueba3.

ACTUALIZAR:

Los probé en Benchmark y tienen la misma velocidad. No hay diferencia entre ellos.

  • @MarkBaker, tienes razón. Lo pruebo ahora con una gran cantidad de matrices, e implosiono y me uno al mismo tiempo para ejecutar. Me equivoqué y edité mi respuesta. Muchas gracias.

    – Erman Belegu

    29 de julio de 2013 a las 0:16

  • ¿Hay alguna diferencia entre la pregunta y tu respuesta?

    – Prasannjit

    29 de julio de 2013 a las 9:58

  • Esta debería ser la respuesta correcta. join agrega el delimitador al último elemento mientras que implode no lo hace.

    – Adán Azad

    22/01/2017 a las 14:00

  • @AdamAzad, te equivocas, join NO agrega el delimitador al último elemento

    – Ron alemán

    2 oct 2020 a las 11:01


avatar de usuario
barrena tom

join() es un alias para implode()asi que implode es teóricamente más “nativo de PHP” aunque no hay absolutamente ningún aumento de rendimiento al usarlo.

Por otra parte, join() se encuentra, entre otros lenguajes, en Perl, Python y ECMAScript (incluido JavaScript) y, por lo tanto, es mucho más portátil en términos de comprensión para una audiencia más amplia de programadores.

Así que aunque explode y implode son indiscutiblemente mucho más dramáticos, votaría por join como una forma más universal de expresar la concatenación de cada valor de una matriz en una cadena.

No puedo pensar en ninguno. El uno es un alias del otro. Ambos combinan elementos de matriz en una cadena.

En resumen, la realidad es que en php, los métodos join() e implode() funcionan de la misma manera.

Se puede intercambiar uno por el otro ya que funcionan de la misma manera.

  • ¿Qué aporta esto al hilo? Esto es básicamente lo mismo que la respuesta aceptada.

    – Darman

    10 de enero de 2020 a las 16:20

  • ¿Qué aporta esto al hilo? Esto es básicamente lo mismo que la respuesta aceptada.

    – Darman

    10 de enero de 2020 a las 16:20

¿Ha sido útil esta solución?