2010-09-04 18 views
28

El manual de PHP para split() dice¿Cuál es la diferencia entre split() y explosión()?

Esta función ha sido DEPRECATED como de PHP 5.3.0. Depender de esta característica es altamente desaconsejado ... Use explode() en su lugar.

Pero no puedo encontrar una diferencia entre split() y explode(). join() no ha sido desaprobado, entonces, ¿qué ofrece?

+3

Split le da fragmentos de cuerda, mientras que explosión le da fragmentos de máquina. Eh, probablemente no ... :-) –

+0

@Peter Rowell: split te da dos mechones de pelo, mientras que la explosión te da metralla. – BoltClock

+2

¡Aquí voy! jeje :) –

Respuesta

48

Ha quedado obsoleto debido

  • explode() es sustancialmente más rápido, ya que no se dividirá según una expresión regular, por lo que la cadena no tiene que ser analizado por el analizador de expresiones regulares
  • preg_split() es más rápido y utiliza expresiones regulares PCRE para la expresión regular se divide

join() y implode() son los alias de uno al otro y por lo tanto no tienen ninguna diferencia.

+1

+1, que responde a todas sus preguntas. – codaddict

+2

Así que se equivocaron cuando lo nombraron, al parecer? Parece que debería haberse llamado ereg_split(). –

+1

@hopeseekr: PHP siempre confunde nombres de funciones;) Y sí, ¡creo que podría decir eso! – BoltClock

4

split usa regex, mientras que explode usa una cadena fija. Si necesita expresiones regulares, use preg_split, que usa PCRE (el paquete de expresiones regulares ahora preferido en la biblioteca estándar de PHP).

1

En split() puede usar expresiones regulares para dividir una cadena. Mientras que explode() divide una cadena con una cadena. preg_split es una alternativa mucho más rápida, en caso de que necesite expresiones regulares.

1

Ambas funciones se utilizan para dividir una cadena.

Sin embargo, Split se utiliza para dividir una cadena con una expresión regular.

Por otro lado, Explode se usa para dividir una cadena usando otra cadena.

E.g explotar ("this", "this is an string"); volverá “es una cadena

por ejemplo de división ("+", "+ Esto es una cadena");

1

La función split() divide la cadena en una matriz utilizando una expresión regular y devuelve una matriz.

La función explode() divide el hilo por hilo.

E.g:

<?php 
    $split_array=split(':','I:P:S'); 
    $explode_array=split('and','I and P and S'); 
    print_r($split_array); 
    print_r($explode_array); 
?> 

El resultado será

Array ([0] => I [1] => P [2] => S) 
Array ([0] => I [1] => P [2] => S) 
+0

Hola Johnny Come Lately !! –

+2

No estoy seguro de entender esta respuesta. No entiendo lo que se está ilustrando, especialmente con esto: '$ explode_array = split ('y', 'I y P y S');' La línea también está utilizando la función split() ... –

0

Ambos se utilizan para dividir una cadena en una matriz, pero la diferencia es que split() utiliza patrón para dividir mientras que explode() utiliza cadena. explode() es más rápido que split() porque no coincide con la cadena en función de la expresión regular.

Cuestiones relacionadas