Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con codigo php , Php basico

Estas en el tema de Problema con codigo php , Php basico en el foro de PHP en Foros del Web. Hola a todos , Nesesito de su ayuda en php basico El problema es el siguiente Quiero sumar , restar y multiplar usando funciones . ...
  #1 (permalink)  
Antiguo 11/02/2013, 11:50
 
Fecha de Ingreso: junio-2010
Mensajes: 14
Antigüedad: 13 años, 10 meses
Puntos: 1
Mensaje Problema con codigo php , Php basico

Hola a todos , Nesesito de su ayuda en php basico

El problema es el siguiente

Quiero sumar , restar y multiplar usando funciones . El resultado de la suma es correcta.

3

Pero al imprimir resta y multiplicacion muestra lo siguiente

-2- 2 , Con resultados negativos

Que esta pasando , Se estan ejecutando todos los procesos ?


<?php
$a=1;
$b=2;

function suma ()
{
global $a, $b;
$b = $a + $b;
}

function resta()
{
global $a, $b;
$b = $a - $b;
}

function multiplicacion ()
{
global $a, $b;
$b = $a * $b;
}

suma();
echo $b;

resta();
echo $b;

multiplicacion();
echo $b;

?>
  #2 (permalink)  
Antiguo 11/02/2013, 11:58
 
Fecha de Ingreso: junio-2011
Mensajes: 17
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: Problema con codigo php , Php basico

Al estar usando variables globales, al modificarlas, el resultado se mantiene guardado.

Por tanto:
1 Inicializas a=1, b=2.
2 Haces b = a + b (quedando a = 1, b = 3)
3 Haces b = a - b (quedando a = 1, b = -2)
4 Haces b = a * b (quedando a = 1, b = -2)

No sé qué quieres hacer, pero las operaciones se realizan correctamente.

Un saludo ,espero ayudarte.
  #3 (permalink)  
Antiguo 11/02/2013, 12:02
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Problema con codigo php , Php basico

Hola por favor usa el Highlight del foro.

Tienes una error de concepto, si vas a utilizar global para hacer multiples cosas con ellas y quieres que siempre se mantenga el valor original, no la reescribas

Código PHP:
Ver original
  1. <?php
  2. $a=1;
  3. $b=2;
  4.  
  5. function suma ()
  6. {
  7. global $a, $b;
  8. return $a + $b;
  9. }
  10.  
  11. function resta()
  12. {
  13. global $a, $b;
  14. return $a - $b;
  15. }
  16.  
  17. function multiplicacion ()
  18. {
  19. global $a, $b;
  20. return $a * $b;
  21. }
  22.  
  23. echo suma();
  24.  
  25. echo resta();
  26.  
  27. echo multiplicacion();

Normalmente este tipo de funciones deben de retornar un valor

incluso puedes hacer

Código PHP:
Ver original
  1. $c = suma();
  2. echo $c;
  3.  
  4. $c = resta();
  5. echo $c;
  6.  
  7. $c = multiplicacion();
  8. echo $c;

De esta manera no estas reescribiendo $b y obtendrás los valores correctos

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.

Etiquetas: basico, resultados
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 03:18.