Foros del Web » Programando para Internet » PHP »

Extraer operadores artiméticos de la cadena

Estas en el tema de Extraer operadores artiméticos de la cadena en el foro de PHP en Foros del Web. Buenas, Tengo una cadena así: $formula = 12+1000-10+3; Digamos que esta cadena formula es dinámica, bien pues necesito extraer los operadores aritméticos de la cadena ...
  #1 (permalink)  
Antiguo 30/04/2013, 05:44
 
Fecha de Ingreso: abril-2013
Mensajes: 4
Antigüedad: 11 años
Puntos: 0
Extraer operadores artiméticos de la cadena

Buenas,

Tengo una cadena así:

$formula = 12+1000-10+3;

Digamos que esta cadena formula es dinámica, bien pues necesito extraer los operadores aritméticos de la cadena en un array sin alterar las posiciones del orden en el que aparecen.

No se si me explicado bien.... ¿alguién me puede ayudar?


Gracias!!
  #2 (permalink)  
Antiguo 30/04/2013, 06:49
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Extraer operadores artiméticos de la cadena

Código PHP:
Ver original
  1. $formula = 12+1000-10+3;
  2.  
  3. function operadores($formula){
  4.    ///Pasamos de string a array
  5.    $arrformula = str_split($formula);
  6.    ///Creamos un array
  7.    $arrOperadores=array();
  8.    for($s=0;$s<count($arrformula);$s++){
  9.       if($arrformula[$s]>9){
  10.          //Comparamos cada elemento con 9
  11.         //si es mayor es un operador luego lo guardamos
  12.         $arrOperadores[]=$arrformula[$s];
  13.       }
  14.    }
  15.    return $arrOperadores;
  16. }

generalización

Código PHP:
Ver original
  1. $formula = 12+1000-10+3;
  2.  
  3. function operadores($formula){
  4.     ///Pasamos de string a array
  5.    $arrformula = str_split($formula);
  6.    ///Creamos un array con los operadores o lo que sea
  7.    $patron=array("+","-",... resto de operadores...);
  8.    $arrOperadores=array();
  9.    for($s=0;$s<count($arrformula);$s++){
  10.       if(in_array($arrformula[$s],$patron){
  11.          //Comparamos cada elemento con los del patron
  12.          //si es un operador luego lo guardamos
  13.          $arrOperadores[]=$arrformula[$s];
  14.       }
  15.    }
  16.    return $arrOperadores;
  17. }



Código pre:
Ver original
  1. Array
  2. (
  3.     [0] => +
  4.     [1] => -
  5.     [2] => +
  6. )

Tambien habria soluciones con expresiones regulares...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 30/04/2013 a las 07:03
  #3 (permalink)  
Antiguo 30/04/2013, 07:44
 
Fecha de Ingreso: abril-2013
Mensajes: 4
Antigüedad: 11 años
Puntos: 0
Respuesta: Extraer operadores artiméticos de la cadena

Muchas gracias!!

Etiquetas: cadena, operadores
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 14:01.