Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/04/2010, 09:08
chimaria
 
Fecha de Ingreso: marzo-2009
Mensajes: 121
Antigüedad: 15 años, 1 mes
Puntos: 1
Pregunta HELP variables

Buenos dias a todos tengo una consulta que hacer a ver si me pueden ayudar estoy realizando unos calculos de nomina, alguno de ellos seguro paro forzoso, ley politica habitacional entre otros. Les voy mostrando el codigo para que ven lo que tengo
Código PHP:
     $formula  $datos_conceptos_quincena[$i]['FORMULA'];

             
$abreviatura $datos_conceptos_quincena[$i]['ABREVIATURA']; 
          
$descomposicion  preg_split("/[\s*]+|[\s\/]+|[\s\)]+|[\s\(]+|[\s\+]+|[\s\-]+/"$formula);
          
$cantidad_operandos count($descomposicion); //para saber la cantida de operandos
          
$m =0;
          for(
$k =0$k $cantidad_operandos$k++) { 
              if( (
ereg("[[:digit:]]"$descomposicion[$k])  !=) && ($descomposicion[$k])  !=''  ) {
                    
$valore[$m] = " $descomposicion[$k]"
                          
                                              
$valores[$m]=bsc_valor_constante($descomposicion[$k],$empleados[$j]['EMPLEADO']); //valor que tiene la constante
// $valores[$m] = bsc_valor_constante($descomposicion[$k],$empleados[$j]['EMPLEADO']); //valor que tiene la constante
                      
                 
               
}//fin del if de verificacion de alfanumericos
                      
$m++;  
         echo eval(
"echo $formula;");// evalua la formula 
Les explico la variable formula tiene la formula que esta en la base de datos y que corresponde a un concepto en este caso "seguro paro forzoso" , en este caso la formula es "($SD*12/$SLA)*($RSPF*3)" para yo poder evaluar esa formula estoy utilizando el eval de php, pero primero la descompongo y obtengo operandos y operadores , seguido de eo pregunto si no es un digito para poder obtener el valor que le corresponde a las constantes que estan en la BD , entonces en el arreglo valore tengo los nombres de las constantes y en el arreglo valores los valores de esas constantes, el problema esta en que si yo hago eval("echo $formula "); no lo hace porque pareciera que el no reconociera los nombres de las constantes que estan el arreglo, si yo coloco
$SD = $valores[$k];
$SLA = $valores[$k];
$RSPF = $valores[$k];
si funciona el eval es como si tuviera que asignarle a unas varibales pero con el mismo nombre qu tienen en la BD.¿Como hago eso?