Ver Mensaje Individual
  #11 (permalink)  
Antiguo 24/07/2009, 07:55
Avatar de argy
argy
 
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 17 años, 2 meses
Puntos: 18
Respuesta: porque pasa esto? :S

hola maycolalvarez, bueno creo que tardé mucho tiempo en responder jajajaja, espero que todavía mi respuesta sea válida.

Bueno yendo al asunto en efecto, pude comprobar que sucede lo que afirmas,pero aquí hay un detalle que cuando configuro el error a E_ALL|E_STRICT

Código PHP:
<?php
while($i<10)
{
    
$j+=$i;
    
$i++;
}
echo 
$j;
//aqui de hecho me imprime 45 (CORRECTO).
//PERO
//si no se declara  el contador $i y $j, tenemos el siguiente mensaje
//Notice: Undefined variable: i in D:\Web\agp\index.php on line 3

//Notice: Undefined variable: i in D:\Web\agp\index.php on line 5

//Notice: Undefined variable: j in D:\Web\agp\index.php on line 5

//Notice: Undefined variable: i in D:\Web\agp\index.php on line 6

//si no declaramos $j

//Notice: Undefined variable: j in D:\Web\agp\index.php on line 5
?>
Código PHP:
<?php
echo '<br />';
//ahora si declaramos los dos 
$k=0;
$m=0;
while(
$k<10)
{
    
$m+=$k;
    
$k++;
}
echo 
$m;
//imprime el mismo 45 (CORRECTO), pero no nos muestra ningún mensaje más que preocupe.
?>
después de concluir la comprobación puedo decir que ocurre lo que afirmas, con el primer ejemplo, pero yo preferiría hacer del segundo modo, que no me muestra ningún aviso negativo.

suerte.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.