Foros del Web » Programando para Internet » PHP »

crear fucnion a partir de un codigo

Estas en el tema de crear fucnion a partir de un codigo en el foro de PHP en Foros del Web. Hola A todos tengo el siguiente codigo y necesito crear una funcion que me devuelva el valor de transporte por region. como lo quiero llamar ...
  #1 (permalink)  
Antiguo 29/09/2017, 09:44
Avatar de saraivaruas  
Fecha de Ingreso: octubre-2010
Ubicación: Chile
Mensajes: 133
Antigüedad: 13 años, 6 meses
Puntos: 10
crear fucnion a partir de un codigo

Hola A todos tengo el siguiente codigo y necesito crear una funcion que me devuelva el valor de transporte por region. como lo quiero llamar la funcion en otras paginas como lo puedo hacer?

micodigo es el siguiente:

Código PHP:
Ver original
  1. $region = strip_tags ($_POST['region']);
  2. $lugar = "$region";
  3. if($lugar = $region) {
  4. if (($region) <= 4){
  5. $ValorRegion = 100;
  6. }
  7. }
  8. if(($region) == 5){
  9. $ValorRegion = 40;
  10. }
  11. if($lugar = $region) {
  12. if(($region) >= 6){
  13. $ValorRegion = 130;
  14. }
  15. }
  16. if(($region) == 9) {
  17. $ValorRegion = 150;
  18. }
  19. if(($region) >= 10) {
  20. $ValorRegion = 170;
  21. }
  22. if(($region) == 13) {
  23. $ValorRegion = 0;
  24. }

pense en poner el siguiente:
Código PHP:
Ver original
  1. function transporte($region){
  2.  
  3. mi codigo;
  4.  
  5. return $transporte;
  6. }

seria correcto?
  #2 (permalink)  
Antiguo 29/09/2017, 11:57
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: crear fucnion a partir de un codigo

No entiendo esto:

$region = strip_tags ($_POST['region']);
$lugar = "$region";
if($lugar = $region) {
}


Para que el strip? si $region es un entero?
Para que $lugar = $region //que es lo mismo que $lugar = "$region" (si es un string)

Cuando haces esto if($lugar = $region) estas asignando y no comparando:
if($lugar == $region)

Pero no entiendo, $lugar siempre es igual a $region....

Que pasaria si pongo en el parametro otra region que no esta en los ifs?

Yo haría algo como esto:

Código PHP:
Ver original
  1. function transporte($region,$default){
  2. $valores = array(100,100,100,100,900,1100,1300,1500,1700,1900,2100,2300,2700); //arreglo de valores por regiones...
  3.  
  4. if($region == null || $region < 0 || $region >= sizeof($valores)){
  5. $valor = $default;
  6. }
  7. else{
  8. $valor = $valores[$region-1];
  9. }
  10.  
  11. $transporte = ; //aca tu formula, ya tienes $valor =)
  12.  
  13. return $transporte;
  14. }

Entonces lo que hice fue, pasar por parametro dos cosas, la region y un valor default, explicacion:

Ya que como tu deseas una funcion con parametro region, y en tus ifs solo atiendes solo unas opciones, supongo que debe haber un valor por defecto. y ese sería el parametro default, ahora para las regiones que no etiendes, y no quieres atenderlas, simplemente en el parametro region, pone null

Saludos

Etiquetas: Ninguno
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 08:34.