Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Generar function dentro de while

Estas en el tema de Generar function dentro de while en el foro de PHP en Foros del Web. Hola mi problema esque cuando realizo una funcion tipo: Cita: function check_in_range2($start_date_2, $end_date_2, $evaluame2) Dentro de un while da error ya que no se puede ...
  #1 (permalink)  
Antiguo 14/03/2014, 13:01
 
Fecha de Ingreso: enero-2010
Mensajes: 373
Antigüedad: 14 años, 3 meses
Puntos: 5
Generar function dentro de while

Hola mi problema esque cuando realizo una funcion tipo:
Cita:
function check_in_range2($start_date_2, $end_date_2, $evaluame2)
Dentro de un while da error ya que no se puede repetir la funcion con el mismo nombre,
pero necesito que se realice la funcion por cada registro que se muestra, como puedo hacer para utilizar dicha funcion en el while?
  #2 (permalink)  
Antiguo 14/03/2014, 13:08
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: Generar function dentro de while

Tienes un error de tipo estructural.
Las funciones solo se pueden definir 1 vez por script, pero su utilizacion se puede realizar todas las que quieras.
Te lo explico un poco
Código PHP:
Ver original
  1. <?php
  2. function check_in_rage2($start_date_2, $end_date_2, $evaluame2){
  3.    //Aqui todo el codigo que realice tu funcion
  4. }
  5. //Aqui todo el codigo de tu pagina
  6. while($comprobacion){
  7. //dentro de tu while puedes usar tu funcion
  8. $resultado = check_in_rage2($variable_1,$variable2,$evaluame2);
  9.  
  10. }
como ves una cosa es la utilizacion de la funcion y otra muy diferente es la definicion de la misma.
  #3 (permalink)  
Antiguo 14/03/2014, 13:09
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: Generar function dentro de while

No puedes crear una función más de una vez, pero puedes usarla cuantas veces necesites.

Código PHP:
Ver original
  1. function mifuncion($p1,$p2){
  2.    //hace algo;
  3. }
  4.  
  5. while(true){
  6.    mifuncion($param1,$param2);
  7. }
  #4 (permalink)  
Antiguo 14/03/2014, 14:12
 
Fecha de Ingreso: enero-2010
Mensajes: 373
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: Generar function dentro de while

El problema esque si las variables $start_date_2 y $end_date_2 las pongo antes del while no tienen ningun valor, por lo cual no se ejecuta la funcion, como hago para hacer
Cita:
function check_in_rage2($start_date_2, $end_date_2, $evaluame2)
sin meterlo en el while? si las variables a ejecutar por la funcion se encuantran dentro del while
  #5 (permalink)  
Antiguo 14/03/2014, 14:27
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: Generar function dentro de while

Necesitas aprender cómo manejar funciones, es decir programación básica en general.

Como comentario extra: si vas a hacer todo el procesamiento de las variables dentro del while, no necesitas una función, puedes hacer el proceso de los datos dentro del while sin usarla.
  #6 (permalink)  
Antiguo 14/03/2014, 14:31
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: Generar function dentro de while

no lo has entendido.
La funcion la vas a poder llamar cuando quieras dentro de tu codigo.
Ya sea dentro del while o donde quieras.
PHP permite la deficion tansolo una vez, pero su utilizacion es distinta.
Cuando defines una funcion le asignas el funcionamiento que tendra dentro de tu sistema,
para definirla se antepone la palabra reservada function.
Cita:
function Nombre_de_la_funcion($variables,$variables2,$varia bles3){ }
al definirla puedes aceptar variables, las cuales tendran distintos valores cuando la funcion sea llamada dentro de tu script.
Para hacer una llamada a la funcion lo debes de hacer sin el function.
Para instanciar a la funcion anterior podria ser asi por ejemplo
Cita:
$resultado = Nombre_de_la_funcion(12,18,'actualizar');
Como ves se puede hacer una funcion para que haga determinadas acciones, pero solo se puede definir su comportamiento una vez por ejecucion del sistema.
La funcion estara definida durante todo el procesado del script; con lo que podra ser llamada todas las veces que queramos dentro del script.
Para tu ejemplo del while,
Define la funcion fuera del while, y haz todas las llamadas a tu funcion sin poner delante el function, desde donde quieras, ya sea desde dentro de un while o donde necesites evaluar datos.
  #7 (permalink)  
Antiguo 15/03/2014, 03:25
 
Fecha de Ingreso: enero-2010
Mensajes: 373
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: Generar function dentro de while

Ha vale ahora si lo entendi, esque no hace falta que la variables que se utilizan al crear la funcion tengan valor, tienen que tener valor asignado a la hora de utilizar la funcion y no a la hora de crearla.

Etiquetas: function, registro
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 15:40.