Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO]Operaciones Matematicas y Variables

Estas en el tema de [SOLUCIONADO]Operaciones Matematicas y Variables en el foro de PHP en Foros del Web. Hola chicos, mi duda y problema es el siguiente: como hago para que una variable sea mi operacional? ej: yo ahora estoy poniendo: Código PHP: ...
  #1 (permalink)  
Antiguo 30/06/2009, 22:02
 
Fecha de Ingreso: junio-2009
Mensajes: 26
Antigüedad: 15 años, 4 meses
Puntos: 1
De acuerdo [SOLUCIONADO]Operaciones Matematicas y Variables

Hola chicos, mi duda y problema es el siguiente:

como hago para que una variable sea mi operacional?

ej:

yo ahora estoy poniendo:

Código PHP:
$resultado=($numero1($operacion1)$numero2); 
no me pregunten de donde saco los datos por que todo eso ya lo tengo solucionado, hasta ahora la variable operacion1 puede mostrar: + - * / entonces lo que necesito saber es como hacer una operacion tal cual la de arriba tomando como ejemplo que:

Código PHP:
$numero1=3;
$operacion1=+;
$numero2=6
???

Info adicional: los datos los saco de un formulario que por cierto lo conecté bien.

EDIT:

SOLUCIONADO!!!

Gracias a kaninox.

Como no se puede (hasta el momento creo) hacer que una variable sirva de operador, el codigo a utilizar fue el siguiente (dado por kaninox):

Código php:
Ver original
  1. <?php
  2. //aqui hacemos que viene dos numeros valor_a y valor_b
  3. //los recibimos como
  4. $a = $_POST[valor_a];
  5. $b = $_POST[valor_b];
  6. //y supongamos solo hay operadores suma y resta
  7. //si apreto el boton suma enviamos 1
  8. //si apreto resta enviamos 1 o lo que sea
  9.  
  10. if ($_POST[suma] == '1')
  11. {
  12. echo ($a + $b);
  13. }
  14. elseif ($_POST[resta] == '1')
  15. {
  16. echo ($a - $b);
  17. }
  18. else
  19. {
  20. echo "no ha ingresado ningun tipo de operador";
  21. }
  22. ?>


Ahora les dejo mi "Calculadora ULTRA SIMPLE y Basica" para que vean como se hizo y saquen conclusiones y/o aprendan los que llevan poco como yo.

El HTML para el Formulario:
Código html:
Ver original
  1. <form action="resultado.php" method="POST">
  2. valor1
  3. <input type="text" name="numero1" value="0" />
  4. <br/>
  5. operacion
  6. <select name="op1">
  7. <option value="1">Suma</option>
  8. <option value="2">Resta</option>
  9. <option value="3">Multiplicacion</option>
  10. <option value="4">Division</option>
  11. <br/>
  12. valor2
  13. <input type="text" name="numero2" value="0" />
  14. <br/>
  15. <input type="submit" name="submit" value="enviar" />
  16. </form>

y el PHP operador (resultado.php)

Código php:
Ver original
  1. <?php
  2. $num1=($_POST['numero1']);
  3. $num2=($_POST['numero2']);
  4.  
  5. if ($_POST[op1] == '1')
  6. {
  7. $resultado=($num1 + $num2);
  8. $operacion_visible="+";
  9. }
  10. //dado que no hay más que 4 opciones,
  11. //siempre tendrás que elegir una, por lo tanto, no existe else.
  12. if ($_POST[op1] == '2')
  13. {
  14. $resultado=($num1 - $num2);
  15. $operacion_visible="-";
  16. }
  17.  
  18. if ($_POST[op1] == '3')
  19. {
  20. $resultado=($num1 * $num2);
  21. $operacion_visible="x";
  22. }
  23.  
  24. if ($_POST[op1] == '4')
  25. {
  26. $resultado=($num1 / $num2);
  27. $operacion_visible="/";
  28. }
  29.  
  30. echo "El resultado de $num1 $operacion_visible $num2  = $resultado";
  31.  
  32. ?>



Espero les haya gustado, cualquier error o sugerencia porfavor postear!!!.
Gracias.

Última edición por cristx; 01/07/2009 a las 01:25
  #2 (permalink)  
Antiguo 30/06/2009, 22:57
 
Fecha de Ingreso: junio-2009
Mensajes: 26
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Operaciones matematicas con VARIABLES COMO OPERACIONAL

Ayudenme porfavor que estoy aproblemado con el Syntax de esto :S
  #3 (permalink)  
Antiguo 30/06/2009, 23:41
 
Fecha de Ingreso: junio-2009
Mensajes: 26
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Operaciones matematicas con VARIABLES COMO OPERACIONAL

up... Disculpen pero estoy algo necesitado. Necesito la solucion de este simple y tonto problema
  #4 (permalink)  
Antiguo 01/07/2009, 00:34
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 19 años, 2 meses
Puntos: 49
Respuesta: [AUN NO SOLUCIONADO]Operaciones Matematicas y Variables

hasta donde se poner un operador, no es posible como variable :/
si estas haciendo una calculadora tendrias que hacer por ejemplo

Código php:
Ver original
  1. <?php
  2. //aqui hacemos que viene dos numeros valor_a y valor_b
  3. //los recibimos como
  4. $a = $_POST[valor_a];
  5. $b = $_POST[valor_b];
  6. //y supongamos solo hay operadores suma y resta
  7. //si apreto el boton suma enviamos 1
  8. //si apreto resta enviamos 1 o lo que sea
  9.  
  10. if ($_POST[suma] == '1')
  11. {
  12. echo ($a + $b);
  13. }
  14. elseif ($_POST[resta] == '1')
  15. {
  16. echo ($a - $b);
  17. }
  18. else
  19. {
  20. echo "no ha ingresado ningun tipo de operador";
  21. }
  22. ?>

es solo un ejemplo, pero vere el tema por que no se puede poner un operador en una variable mas a fondo y te respondo saludos...
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #5 (permalink)  
Antiguo 01/07/2009, 00:54
 
Fecha de Ingreso: junio-2009
Mensajes: 26
Antigüedad: 15 años, 4 meses
Puntos: 1
De acuerdo Respuesta: [AUN NO SOLUCIONADO]Operaciones Matematicas y Variables

mmm ok

Me ha servido de mucho tu respuesta pero ahora el tema es:

Usando ese codigo, ¿puedo hacer que en vez de que el resultado sea un

Código PHP:
echo ($a $b
sea

Código PHP:
$variable=($a $b); 
????
entonces así tendría modificada mi variable "$variable" para citarla más tarde, ejemplo:

teniendo en cuenta que si se puede y que ya se hizo:

Código PHP:
echo "El resultado de a (operacion)  b = $variable "
EDIT: era tal cual había sugerido: $variable=($a + $b);
...

Gracias por la ayuda. (si termino pongo el codigo completo).

Última edición por cristx; 01/07/2009 a las 01:08
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 21:37.