Foros del Web » Programando para Internet » PHP »

Descomponer una formula

Estas en el tema de Descomponer una formula en el foro de PHP en Foros del Web. De nuevo por aqui y necesito de su ayuda si es posible Ten go una formula como la siguiente formula = (SD*12/SLA)*(RSPF*3) y necesito separar ...
  #1 (permalink)  
Antiguo 25/03/2010, 17:24
 
Fecha de Ingreso: marzo-2009
Mensajes: 121
Antigüedad: 15 años
Puntos: 1
Descomponer una formula

De nuevo por aqui y necesito de su ayuda si es posible
Ten go una formula como la siguiente
formula = (SD*12/SLA)*(RSPF*3)
y necesito separar en variables los operandos mas o meno s asi
var1 = SD
var2 = 12
var3 = SLA
var4 = RSPF
var5 = 3

Como lo hago porque lo intente hacer con explode() pero es un desastre agr


agradeceria cualquier colaboracion
gracias
  #2 (permalink)  
Antiguo 25/03/2010, 17:26
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Descomponer una formula

Con expresiones regulares puedes lograrlo. Lee sobre la función preg_split.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 26/03/2010, 09:03
 
Fecha de Ingreso: marzo-2009
Mensajes: 121
Antigüedad: 15 años
Puntos: 1
De acuerdo Respuesta: Descomponer una formula

Ciertamente muchas gracias con preg_split lo pude solucionar, solo tengo una duda porque si yo tengo esta formula me genera 4 posiciones con espacios en blanco
y esta fue la funcion que tu ,me dijste que usara

$formula = (SD*12/SLA)*(RSPF*3)

preg_split("/[\s*]+|[\s\/]+|[\s\)]+|[\s\(]+|[\s\+]+|[\s\-]+/", $formula);
Array (
[0] =>
[1] => SD
[2] => 12
[3] => SLA
[4] =>
[5] =>
[6] => RSPF
[7] => 3
[8] =>
)
Gracias.
  #4 (permalink)  
Antiguo 26/03/2010, 09:14
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Descomponer una formula

podrias intentarlo asi

Código PHP:
Ver original
  1. <?php
  2. $formula = "(SD*12/SLA)*(RSPF*3)";
  3. $formula = preg_match('@^\((\w{2})\*(\d{2})/(\w{3})\)\*\((\w{4})\*(\d)\)$@', $formula, $matches);
  4. print_r($matches);
  5. ?>

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #5 (permalink)  
Antiguo 26/03/2010, 09:31
 
Fecha de Ingreso: marzo-2009
Mensajes: 121
Antigüedad: 15 años
Puntos: 1
Respuesta: Descomponer una formula

Gracias, lo que pasa es que esas formulas son variables y yo la coloque fija para poder hacer la prueba, pero esas son formulas que yo me traigo de la BD y que no son fijas.
De todas formas gracias por responderme

Etiquetas: formulas
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 16:22.