Foros del Web » Programando para Internet » PHP »

Sacar varios array de un string

Estas en el tema de Sacar varios array de un string en el foro de PHP en Foros del Web. ¿Este procedimiento fue correcto? Necesitaba convertir esta línea en múltiples arrays, dividiéndolos con un separador: Código PHP: $var  =  "onclick,javascript('event')|onmouseover,otraCosa|esto,otro" ;  Lo hice así: Código ...
  #1 (permalink)  
Antiguo 23/04/2010, 15:35
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
Sacar varios array de un string

¿Este procedimiento fue correcto? Necesitaba convertir esta línea en múltiples arrays, dividiéndolos con un separador:

Código PHP:
$var "onclick,javascript('event')|onmouseover,otraCosa|esto,otro"
Lo hice así:

Código PHP:
$var explode('|' $var);
$h null;

foreach(
$var as $a)
    
$d[] = explode',' $a);

foreach(
$d as $f)
    
$h .= ' '$f[0] .'="'$f[1] .'"';

echo 
$h;

// Resultado: onclick="javascript('event')" onmouseover="otraCosa" esto="otro" 
Sólo quiero saber si esto se puede hacer de manera más simplificada. El código funciona, pero ese par de bucles + dos explodes se ven un poco aparatosos.
  #2 (permalink)  
Antiguo 23/04/2010, 15:38
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Sacar varios array de un string

Creo que lo mejor es usar una expresión regular, con preg_split.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 23/04/2010, 15:42
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 18 años, 3 meses
Puntos: 70
Respuesta: Sacar varios array de un string

Exactamente, un preg_split era como la mejor opción jeje, pero si te funciona...

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #4 (permalink)  
Antiguo 23/04/2010, 16:05
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
Respuesta: Sacar varios array de un string

Gracias por el dato compadres. Luego del par de explodes y el primer bucle, $var se transforma en esto:

Código PHP:
Array
(
    [
0] => Array
        (
            [
0] => onclick
            
[1] => javascript('event')
        )

    [
1] => Array
        (
            [
0] => onmouseover
            
[1] => otraCosa
        
)

    [
2] => Array
        (
            [
0] => esto
            
[1] => otro
        
)


Sólo un Sí o un No: ¿preg_split puede lograr el mismo resultado de un solo golpe?.
  #5 (permalink)  
Antiguo 23/04/2010, 16:18
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 18 años, 3 meses
Puntos: 70
Respuesta: Sacar varios array de un string

Tanto como de un sólo golpe no ( si te refieres a una sola línea de código ), pero si te ahorras pasos y los foreach

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #6 (permalink)  
Antiguo 23/04/2010, 17:27
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Sacar varios array de un string

Bueno, de esa forma lo puedes lograr en una sola linea con preg_match_all
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:57.