PHP - error con Strings

   
Vista:

error con Strings

Publicado por LEandro (27 intervenciones) el 24/09/2007 17:33:49
Buenas, estoy practicando con php y tengo un error pero no me doy ccuenta por que es que sale el error. Lo que yo tengo es mas o menos asi:

______
....
$s= $_POST["txt "]; // acà asumo que lo q obtengo del post,
que una variable de un form type="text" es un String
$a= strlen($s);
for ($i=0;$i<=$a;$i++){
if($s[i]==' ') // aca considcero al string como una cadena de caracteres
.....
______

Pero obtengo lo siguiente:
Notice: Uninitialized string offset: 6 in c:\arch.... on line 40

No entiendo por que ocurre eso, Esta bien asumir que lo que me devuelve el Post sea un string siempre que lo que devuelva sea una variable input de un form de type="text" ???

Espero puedan ayudarme,
Muchas Gracias,
Leandro.-
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:error con Strings

Publicado por Nicolás (154 intervenciones) el 24/09/2007 18:17:01
No debieras de hacerte tanto problema. PHP te reconoce el tipo de dato con el que estas trabajando. Por ejemplo:

$numero = "4";

$numero_str = $numero . "3";

echo $numero_str; //esto imprime 43

echo ($numero + 3); // esto imprime 7

como ves, lo que recibes por post lo puedes trabajar como string o como numero (simpre y cuando sea un numero :P)

Ahora pasando al error... el porque recorres hasta una posición mas. Lo que deberias haces es:

$a= strlen($s);
for ($i=0; $i<=$a-1; $i++){
if($s[i] == ' ')
.....

se entiende???
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:error con Strings

Publicado por Leandro (2 intervenciones) el 24/09/2007 19:10:50
Gracias Nicolas por la respuesta, tienes razòn con respecto a que debo recorrer hasta largo-1, pero el problema no esta resuelto, a mi me da el siguiente error
Notice: Uninitialized string offset:... On line 40
y lo que tengo en es linea es: if($s[i] == ' ') , para estar seguro eliminè esa linea del codigo y anda lo maas bien, entonces concluì que el error estaba ahi , al manipular el string s, que me dice que no fue inicializado, yo supuse que al hacer $s= $_POST['text'] lo estaba inicializando.
No entiendo por que tira ese error,
Muchas gracias
Leandro.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:error con Strings

Publicado por Diego Romero (1450 intervenciones) el 24/09/2007 21:05:11
Este es un caso en el que el intérprete sabe que hay un error pero elije mal el mensaje para informarlo. El error es que la 'i' que tienes entre corchetes no es una variable, es un literal, creo que lo que querías poner es $i (la variable $i que es índice del for), o sea:

if ($s[$i]==' ') { ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:error con Strings

Publicado por Nicolás (154 intervenciones) el 24/09/2007 21:23:41
WAU! no lo habia visto!!! Buen ojo Diego!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:error con Strings

Publicado por Leandro (1 intervención) el 24/09/2007 21:49:37
Gracias Diego!
tampoco me habìa dado cuenta de ello, es que acostumbrado a
programar en c y c++ me olvido del "!!++¿?!!!" signo de pesos.
Saludos,
Leandro.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:error con Strings

Publicado por Diego Romero (1450 intervenciones) el 24/09/2007 22:31:40
Don't worry, al mejor cazador también se le escapa la liebre de vez en cuando :).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar