Foros del Web » Programando para Internet » PHP »

problemas al cortar cadena con explode

Estas en el tema de problemas al cortar cadena con explode en el foro de PHP en Foros del Web. Buenas a todos, tengo un problema para recortar una cadena que recibo en una variable: en un option envio los valores: echo "<option value='".$row[3]."@".$row[7]."@".$row[8]."'>".utf8_encode($row[3])."</option>"; separados ...
  #1 (permalink)  
Antiguo 25/05/2011, 06:57
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
problemas al cortar cadena con explode

Buenas a todos, tengo un problema para recortar una cadena que recibo en una variable:

en un option envio los valores:

echo "<option value='".$row[3]."@".$row[7]."@".$row[8]."'>".utf8_encode($row[3])."</option>";

separados por el caracter @

En internet encontre que puedo separar de dos maneras:

Forma 1:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $email = explode("@","[email protected]");
  4.  
  5. echo $email[0]; // Imprime "usuario"
  6. echo $email[1]; // Imprime "email.dom"
  7.  
  8. ?>

Forma 2:
Código PHP:
Ver original
  1. <?php
  2.  
  3. $fecha = "12-01-2005";
  4.  
  5. list($dia,$mes,$anyo) = explode("-",$fecha);
  6.  
  7. echo $dia; // Imprime 12
  8. echo $mes; // Imprime 01
  9. echo $anyo; // Imprime 2005
  10.  
  11. ?>

La cadena la recibo en una variable:

$etiqueta=$_POST['etique'];

que me muestra algo como esto:

campox@char@8

Ahora lo que quiero es separar las tres palabras

lo hice asi:


Código PHP:
Ver original
  1. <?php
  2.  
  3. $etiqueta = explode("@",$etiqueta);
  4.  
  5. echo $etiqueta[0]; // para imprimir "campox"
  6. echo $etiquetal[1]; // para imprimir "char"
  7. echo $etiquetal[2]; // para imprimir "8"
  8.  
  9. ?>

y de la otra forma
Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4.  
  5. list($dato,$tipo,$longitud) = explode("@",$etiqueta);
  6.  
  7. echo $dato; //para imprimir campox
  8. echo $tipo; // Ipara imprimir char
  9. echo $longitud; // para imprimir 8
  10.  
  11. ?>

Y para ambos casos me genera el siguiente error:


Notice: Undefined offset: 1 in C:\Inetpub\wwwroot\web\intranet\diseforhc.php on line 398

Notice: Undefined offset: 2 in C:\Inetpub\wwwroot\web\intranet\diseforhc.php on line 399


Notice: Undefined offset: 3 in C:\Inetpub\wwwroot\web\intranet\diseforhc.php on line 399


Como deberia entonces cortar los valores que recibo en la variable?

Agradezco me puedan colaborar.....gracias
  #2 (permalink)  
Antiguo 25/05/2011, 07:27
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: problemas al cortar cadena con explode

Es correcto lo que indicas, trata esto para que veas que funciona
Código PHP:
Ver original
  1. <?php
  2. $str = 'foo@bar@baz';
  3. list($foo,$bar,$baz) = explode('@', $str);
  4. echo $foo;
  5. echo $bar;
  6. echo $baz;
También haz un var_dump a todas tus variables para que veas que imprime.
__________________
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 25/05/2011, 10:12
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: problemas al cortar cadena con explode

Que raro...nada...pero igual el problema esta SOLUCIONADO, me toco usar una funcion en ajax que me recogiera valores y luego los envio al archivo....

de todos modos gracias.............

Etiquetas: cortar, explode, cadenas
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 18:09.