Foros del Web » Programando para Internet » PHP »

convertir en funcion... se puede?

Estas en el tema de convertir en funcion... se puede? en el foro de PHP en Foros del Web. Hola, He creado el código de más abajo en PHP, pero me gustaría saber si ¿hay forma de realizarlo mediante una función o es imposible ...
  #1 (permalink)  
Antiguo 17/11/2011, 06:33
 
Fecha de Ingreso: octubre-2011
Mensajes: 36
Antigüedad: 12 años, 6 meses
Puntos: 2
Exclamación convertir en funcion... se puede?

Hola,

He creado el código de más abajo en PHP, pero me gustaría saber si ¿hay forma de realizarlo mediante una función o es imposible?

Lo que hace es recojer un número via URL y calcula la suma y el producto de sus cifras.

Gracias por adelantado.

Código PHP:
$cadena $_GET["cadena"];
 
$numeros explode(","$cadena);
 
 
$NumElementsCadena=count($numeros);
 
 
$suma=0;
 
$producto=1;
 
$i=0;
    while (
$i $NumElementosCadena) {
           
$n array_shift($numeros);
           if (
$n>0) {
               
$suma=$suma+$n;
               
$producto=$producto*$n;
           }
           
$i $i 1;
    }
echo 
'suma: '.$suma.'<br>';
echo 
'producto: '.$producto
  #2 (permalink)  
Antiguo 17/11/2011, 06:48
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: convertir en funcion... se puede?

Podes hacer asi:

Código PHP:
Ver original
  1. <?php
  2.  
  3. function sumaProducto($cadena) {
  4.     $numeros = explode(",", $cadena);
  5.     $NumElementosCadena=count($numeros);
  6.  
  7.     $suma=0;
  8.     $producto=1;
  9.     $i=0;
  10.    
  11.     while ($i < $NumElementosCadena) {
  12.         $n = array_shift($numeros);
  13.         if ($n>0) {
  14.             $suma = $suma+$n;
  15.             $producto = $producto*$n;
  16.         }  
  17.         $i = $i + 1;  
  18.     }
  19.  
  20.     return Array('suma' => $suma, 'producto' => $producto);
  21. }
  22.  
  23. // IMPLEMENTACION
  24. $sumaProducto = sumaProducto($_GET['cadena']);
  25. echo "suma: " . $sumaProducto['suma'] . "<br />";
  26. echo "producto: " . $sumaProducto['producto'];
  27.  
  28. ?>

El return podes hacerlo como vos prefieras, es una de las alternativas la que te postie

Saludos!
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #3 (permalink)  
Antiguo 17/11/2011, 07:33
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 10 meses
Puntos: 56
Respuesta: convertir en funcion... se puede?

Yolo hice asi:

Código PHP:
Ver original
  1. <?php
  2. function cadenas($cadena)
  3. {
  4.  $cadena = '10,11,12,13,14,15';
  5.  $numeros = explode(",", $cadena);
  6.  $NumElementsCadena=count($numeros);
  7.  $suma=0;
  8.  $producto=1;
  9.  $i=0;
  10.     while ($i < $NumElementsCadena) {
  11.            $n = array_shift($numeros);
  12.            if ($n>0) {
  13.                $suma=$suma+$n;
  14.                $producto=$producto*$n;
  15.            }
  16.            $i = $i + 1;
  17.     }
  18.     return $suma.$producto.$NumElementsCadena;
  19. }
  20. echo 'Datos'.cadenas($cadena);
  21.  
  22. ?>

Por cierto aqui supongo que debe ser NumElementsCadena y no NumElementosCadena.

Código PHP:
Ver original
  1. while ($i < $NumElementsCadena) {
  2.            $n = array_shift($numeros);
  3.            if ($n>0) {
  4.                $suma=$suma+$n;
  5.                $producto=$producto*$n;
  6.            }
  7.            $i = $i + 1;
  8.     }
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #4 (permalink)  
Antiguo 17/11/2011, 07:49
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: convertir en funcion... se puede?

Sisi, se confundio al copiarlo aurson ;) bien por decirlo porque no lo especifique cuando postie mi solucion ;)
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #5 (permalink)  
Antiguo 17/11/2011, 09:52
 
Fecha de Ingreso: octubre-2011
Mensajes: 36
Antigüedad: 12 años, 6 meses
Puntos: 2
Respuesta: convertir en funcion... se puede?

Sí, se me coló la 'o' en NumElementsCadena.

Muchas Gracias a los dos!
  #6 (permalink)  
Antiguo 17/11/2011, 09:58
Avatar de linuxzero  
Fecha de Ingreso: noviembre-2011
Ubicación: Argentina
Mensajes: 778
Antigüedad: 12 años, 5 meses
Puntos: 160
Respuesta: convertir en funcion... se puede?

De nada aurson ;)
__________________
Si todo fuera tan sencillo como un symfony cc la vida seria más fácil.
http://phpnico.wordpress.com
  #7 (permalink)  
Antiguo 17/11/2011, 10:18
Avatar de azimutisima  
Fecha de Ingreso: mayo-2011
Mensajes: 107
Antigüedad: 12 años, 10 meses
Puntos: 14
Respuesta: convertir en funcion... se puede?

Moraleja: TODO se puede convertir a funciones y procedimientos en cualquier lenguaje actual. De hecho es la base de la reutilización del código.
__________________
Si te gusto mi respuesta anímame a continuar dandome un voto.

Etiquetas: funcion
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 11:58.