Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/04/2013, 06:49
quimfv
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