Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/11/2019, 09:08
prueba230683
 
Fecha de Ingreso: abril-2011
Mensajes: 170
Antigüedad: 13 años, 1 mes
Puntos: 68
Respuesta: Interpretar formula con PHP

Si las funciones están almacenadas en la BD en PHP válido, podrías usar eval (https://www.php.net/manual/es/function.eval.php) para ejecutarlas, con el consiguiente riesgo que eso supone. Si las formulas proceden de usuarios externos te podrían tomar el control del servidor fácilmente.

La mejor opción es implementar todas esas funciones en PHP y elegir qué función se ejecuta en base al criterio que establezcas (en este caso en base al ID de la fórmula):

Código PHP:
Ver original
  1. // declaras todas las funciones
  2.  
  3. function formula1($val) {
  4.   return $val*3;
  5. }
  6.  
  7. function formula2($val) {
  8.   return $val*$val;
  9. }
  10.  
  11. function formula3($val) {
  12.   return $val - $val*2 + 25;
  13. }
  14.  
  15. $Id_for = 2; // identificador de la fórmula
  16. $valor = 10; // valor que quieres usar como parámetro de la función
  17.  
  18. switch ($Id_for) {
  19.     case 1:
  20.         $resultado = formula1($valor);
  21.         break;
  22.     case 2:
  23.         $resultado = formula2($valor);
  24.         break;
  25.     case 3:
  26.         $resultado = formula3($valor);
  27.         break;
  28. }
  29.  
  30. echo $resultado;

Última edición por prueba230683; 08/11/2019 a las 09:46