![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Hola, mil disculpas, es que cuando vi lo que escribí me di cuenta de un error en el codigo, esa no es la parte en donde me da el error, es aqui:
Código PHP:
|
|
#2
|
|||
|
|||
|
Lo primero deberías de poner los límites del bucle para que veamos por donde te mueves. Yo para los strings te aconsejo que controles el tope " length (variable)-1", ya que si la cadena mide 10 char y te vas a mirar el 11 te dará error. En un bucle for, para recorrer la cadena usa:
Otra cosa. No le pongas límite a la cadena. Declaralá como:
y no como
Piensa en las string como en lo que son, arrays dinámicos. Más cosas. La línea:
la verdad, me da yuyu. Pienso que sería mejor así:
Antes del bucle inicializaría a '' la variable guarda_variable y pasaría de la variable j. Ten en cuenta que según tú lo haces, si la cadena mide 0 caracteres, en el primer paso del bucle while ya estás intentando llegar al caracter 1, con lo que peta. Veo que no estás controlando la salida del bucle para cuando llegues a fin de cadena. Sobre todo, mirate ésto y lo anterior, que me parece que es donde te está petando. Un consejo "cutre" pero funcional. Si no ves mentalmente lo que está pasando, haz lo que hago yo. Pon la siguiente línea dentro del while:
Te lo puedes decorar a tu gusto, pero así consigues ver en cada paso el valor de cada variable. A mi me ayuda mucho, y la verdad, me resulta más cómodo que el depurador. Saludos del elfo |
|
#3
|
||||
|
||||
|
Yo creo que el problema es lo que te mencioné antes. Tienes que cuidar los rangos de los índices. En el ciclo while los índices i, j van aumentando siempre sin que verifiques si ya te pasaste de la longitud de la cadena. Por ejemplo, si encuentra la doble comilla al final de la cadena en la comparación antes del ciclo entonces ya no puedes acceder al siguiente caracter. O si en el ciclo el primer caracter distinto de doble comilla es el último de la cadena también vas a tener problemas.
// Saludos |
|
#4
|
|||
|
|||
|
Hola, muchas gracias por responder mis preguntas, tomaré en cuenta todas las sugerencias y los ejemplos, seguramente me serán de utilidad, nos vemos pronto por aqui...
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|