Ver Mensaje Individual
  #7 (permalink)  
Antiguo 11/09/2014, 09:11
rodrigo_temuco
 
Fecha de Ingreso: abril-2011
Ubicación: Vilcún, cerca de Temuco
Mensajes: 67
Antigüedad: 13 años, 1 mes
Puntos: 5
Respuesta: Asignar valores a resultados

Te completo el mensaje anterior. Con lo dicho, quedaría así:

Código PHP:
Ver original
  1. function sumar_esto($n){
  2.     $cadena=trim($n, ";");
  3.     $cadena = str_replace(array("4","1"), array("50","0"), $cadena);
  4.     $grupo=explode(",", $cadena);   //divide la cadena en trozos separados por la coma, $grupo es un array
  5.     return array_sum($grupo);      
  6.     }
  7.  
  8. $ret = array_map("sumar_esto", $row_Recordset1['Confir']);

La función "sumar_esto" elimina el punto y coma, reemplaza los valores de "4" y "1", convierte la cadena en tres números separados y devuelve la suma de esos números.

La función "array_map" está integrada en php, lo que hace es ejecutar la función "sumar_esto" en cada uno de los elementos del array $row_Recordset1['Confir'].

PERO OJO con los valores 4 y 1. Si tu aplicación recibe cualquier otro número también lo va a tratar de convertir. Por ejemplo, el 44 se convierte en 5050.

Entonces te conviene usar lo siguiente:

Código PHP:
Ver original
  1. function sumar_esto($n){
  2.     $cadena=trim($n, ";");
  3.     $grupo=explode(",", $cadena);
  4.     $grupo=array_map(function($f){
  5.     switch($f){
  6.       case 4: return 50;
  7.       case 1: return 0;
  8.       default: return $f;
  9.     }
  10.     }, $grupo);
  11.  
  12.     return array_sum($grupo);
  13.     }
  14.  
  15. $ret = array_map("sumar_esto", $row_Recordset1['Confir']);

y después de la línea 7 agregas cualquier otro valor que desees reemplazar.