Foros del Web » Programando para Internet » PHP »

diferencia de ++ o -- en un bucle.

Estas en el tema de diferencia de ++ o -- en un bucle. en el foro de PHP en Foros del Web. Tengo el bucle de un ejercicio que es: Código PHP: $i  =  1 ;  while( $i  <=  5 ) {   echo  'Número '  .  $i  .  '<br>' ...
  #1 (permalink)  
Antiguo 18/04/2011, 18:18
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
diferencia de ++ o -- en un bucle.

Tengo el bucle de un ejercicio que es:
Código PHP:
$i 1
while(
$i <= 5) {
  echo 
'Número ' $i '<br>';
  ++
$i;

y quiero preguntar si hay alguna diferencia en poner

++$i; o poner $i++;
__________________
Programador jQuery & PHP
  #2 (permalink)  
Antiguo 18/04/2011, 18:22
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 4 meses
Puntos: 21
Respuesta: diferencia de ++ o -- en un bucle.

No hay niguna. ++ lo único que hace es aumentar el valor del número en 1.
En ambos caso.

-- es el caso contrario.
__________________
Si te ayude, el karma nunca sobra ;)
  #3 (permalink)  
Antiguo 18/04/2011, 18:22
 
Fecha de Ingreso: febrero-2011
Mensajes: 8
Antigüedad: 13 años, 2 meses
Puntos: 3
Respuesta: diferencia de ++ o -- en un bucle.

Yo sé que si hay una diferencia, pero por lo general uso $i++ para el incremento. Deja busco mis apuntes y te comento.


-------------------
Twitter: @cuatemito
  #4 (permalink)  
Antiguo 18/04/2011, 18:25
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
Respuesta: diferencia de ++ o -- en un bucle.

Cita:
Iniciado por Cuatemito Ver Mensaje
Yo sé que si hay una diferencia, pero por lo general uso $i++ para el incremento. Deja busco mis apuntes y te comento.
Yo tambie recuerdo hacer visto en algun lado que habia una diferencia, pero no lo recuerdo, por eso lo postie x)
__________________
Programador jQuery & PHP
  #5 (permalink)  
Antiguo 18/04/2011, 18:27
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 4 meses
Puntos: 21
Respuesta: diferencia de ++ o -- en un bucle.

Mi pico la duda, y me puse a investigar un poco... Lo único que encontre es esto: http://es.answers.yahoo.com/question...7160219AAZEp9W

Pero eso hace referencia a C++ no se si también se aplicara al PHP (aunque lo veo bastante probable..)

Y haciendo la siguiente prueba:

Código PHP:
$a 5;
$b 4;

$i=5// i vale 5
$j=5// j vale 5
$a $i++;
$b = ++$j;

echo 
$a//Esto da 5
echo '</br>'.$b//Esto da 6 
Lo que dice el link anterior se cumple. Dicho esto, retiro lo antes dicho.

Y la cosa quedaría así:


$i++: primero asigno, luego incremento
++$i: primero incremento, luego asigno el valor incrementado
__________________
Si te ayude, el karma nunca sobra ;)
  #6 (permalink)  
Antiguo 18/04/2011, 18:44
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, 11 meses
Puntos: 1517
Respuesta: diferencia de ++ o -- en un bucle.

La diferencia es que ++$i aumenta primero el valor y luego muestra, y $i++ muestra primero y luego aumenta. Es decir
Código PHP:
Ver original
  1. $i = 0;
  2. echo $i++; // muestra 0
  3. echo $i; // muestra 1
  4.  
  5. $i = 0;
  6. echo ++$i; // muestra 1
  7. echo $i // muestra 1

Edito: Ya veo que lo sacaron

@ZoroRoronoa, en el caso que pusiste al inicio de este tema, no se ve la diferencia. ¿Cuando se podría usar para notar la diferencia? Algo así
Código PHP:
Ver original
  1. <?php
  2. function num($num){
  3.     if($num == 10){ return; }
  4.     num($num++);
  5.     echo $num;
  6. }
  7. echo num(0); // imprime   Fatal error: Allowed memory size of ....... bytes exhausted (tried to allocate ....... bytes) in ....... on line 4
Para resolverlo en ese caso se debe usar
Código PHP:
Ver original
  1. <?php
  2. function num($num){
  3.     if($num == 10){ return; }
  4.     num(++$num);
  5.     echo $num;
  6. }
  7. echo num(0); // Imprime 10987654321
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 18/04/2011 a las 18:50
  #7 (permalink)  
Antiguo 18/04/2011, 19:02
Avatar de ZoroRoronoa  
Fecha de Ingreso: marzo-2011
Ubicación: California, USA
Mensajes: 824
Antigüedad: 13 años
Puntos: 116
Respuesta: diferencia de ++ o -- en un bucle.

Claro claro, no se le nota la diferencia, pero era una duda que tenia, por que recorde haberlo visto y por eso lo postie.

pero ya todo quedo claro, gracias amigos :)
__________________
Programador jQuery & PHP
  #8 (permalink)  
Antiguo 18/04/2011, 19:59
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: diferencia de ++ o -- en un bucle.

Holas,

Por seacaso la respuesta correcta es de bioxido donde menciona:

Cita:
$i++: primero asigno, luego incremento
++$i: primero incremento, luego asigno el valor incrementado
Saludos
Gildus
__________________
.: Gildus :.
  #9 (permalink)  
Antiguo 19/04/2011, 01:38
Avatar de s00rk  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico
Mensajes: 238
Antigüedad: 13 años, 5 meses
Puntos: 48
Respuesta: diferencia de ++ o -- en un bucle.

Cita:
Iniciado por gildus Ver Mensaje
Holas,

Por seacaso la respuesta correcta es de bioxido donde menciona:
Cita:
$i++: primero asigno, luego incremento
++$i: primero incremento, luego asigno el valor incrementado

Saludos
Gildus
Exacto, tan sencillo como eso podria explicarse, los primeros comentarios que lei la verdad me quede con la boca abierta sobre que pensaran que era lo mismo jeje

Aunque pues muchos no saben esto, esperemos y sirva para aquellos que no sabian n_n

Etiquetas: bucle, diferencia
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 00:26.