Foros del Web » Programando para Internet » PHP »

Que retorna esta suma?

Estas en el tema de Que retorna esta suma? en el foro de PHP en Foros del Web. Hola a todos, Bueno estudiando para un examen php, me encontré con una pregunta que retorna esta suma: $a = 10; $b = 1; $c ...
  #1 (permalink)  
Antiguo 04/09/2012, 05:36
 
Fecha de Ingreso: mayo-2004
Mensajes: 102
Antigüedad: 19 años, 11 meses
Puntos: 5
Pregunta Que retorna esta suma?

Hola a todos,
Bueno estudiando para un examen php, me encontré con una pregunta que retorna esta suma:

$a = 10;
$b = 1;
$c = ($a++ * ++$b);

El resultado que yo supuse que daba no es el que realmente da. Alguien sabe explicar como funciona esta suma?

El resultado que yo espere fue 22 ya que si sustituimos las variables la cuenta seria asi

$c = ((10+1)*(1+1));
$c = (11*2);
$c=22;

Encambio el resultado que da es 20.

Alguien sabe explicar?
Muchas gracias!
__________________
Bruno Quintana
  #2 (permalink)  
Antiguo 04/09/2012, 05:49
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Que retorna esta suma?

Dependiendo de donde estén los ++ hace cosas distintas, si está delante ++$b , primero incrementa 1 a la variable y luego sigue la ejecucion,
si está despues $a++ hace lo contrario, ejecuta y luego incrementa
fijate este ejemplo, $a el la linea siguiente está con el incremento, pero en la linea actual no


Código PHP:
$a 10;
$b 1;

echo 
$a++; // acá vale 10
//acá vale 11
 
echo ++$b// acá vale 2
//acá vale 2 
__________________
la la la
  #3 (permalink)  
Antiguo 04/09/2012, 05:51
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Que retorna esta suma?

El caso es que aún sabiendo eso a mi me sigue dando 21 :D

Nada ya me di cuenta. Tras realizar el cálculo $a pasa a valer uno más, pero el cálculo ya está hecho, por lo tanto no se le suma ese 1.
  #4 (permalink)  
Antiguo 04/09/2012, 08:40
 
Fecha de Ingreso: mayo-2004
Mensajes: 102
Antigüedad: 19 años, 11 meses
Puntos: 5
Respuesta: Que retorna esta suma?

Muchas gracias truman_truman, entonces la cuenta quedaría así:
$a = 10;
$b = 1;
$c = (10 * 2);

Muchas gracias has aclarecido mi duda! :)
__________________
Bruno Quintana

Etiquetas: retorna, variables
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:21.