Foros del Web » Programando para Internet » PHP »

¿Cómo llamar a una función?

Estas en el tema de ¿Cómo llamar a una función? en el foro de PHP en Foros del Web. Me he creado una función en mi codigo PHP de la siguiente forma: Código PHP: < script > function  funcionVerdadera () {     return  true } </script> ...
  #1 (permalink)  
Antiguo 27/11/2012, 10:08
 
Fecha de Ingreso: julio-2012
Ubicación: Madrid
Mensajes: 95
Antigüedad: 11 años, 9 meses
Puntos: 2
¿Cómo llamar a una función?

Me he creado una función en mi codigo PHP de la siguiente forma:

Código PHP:
<script>
function 
funcionVerdadera() {
    return 
true
}
</script> 
Y mas abajo, en el código, quiero llamar dentro de un IF a esa función (si la función devuelve TRUE, haré una cosa y si no, otra.

Lo hago de la siguiente manera:

Código PHP:
if(isset(funcionVerdadera()){
   echo 
"Funciona";    
}else {
   echo 
"No funciona";

Logicamente (no se por qué), no funciona este código (me da en la web un error 500)

¿Alguna idea de cómo solucionarlo? Gracias
  #2 (permalink)  
Antiguo 27/11/2012, 10:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: ¿Cómo llamar a una función?

No puedes usar isset() sobre funciones, tienes que directamente mandar llamar la función, ej:
Código PHP:
Ver original
  1. function foo() { return true; }
  2.  
  3. if (foo()) {
  4.      echo 'foo!';
  5. } else {
  6.      echo 'bar';
  7. }
  #3 (permalink)  
Antiguo 27/11/2012, 10:42
 
Fecha de Ingreso: julio-2012
Ubicación: Madrid
Mensajes: 95
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: ¿Cómo llamar a una función?

Si lo hago como tú dices, a saco, en la parte de la web que debería de hacer algo aparece el siguiente mensaje:

Fatal error: Call to undefined function funcionVerdadera() ...
  #4 (permalink)  
Antiguo 27/11/2012, 10:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: ¿Cómo llamar a una función?

Pues es porque no la estas definiendo previamente, si lo que quieres es verificar que exista, usa function_exists, para eso sirve precisamente.

Saludos.
  #5 (permalink)  
Antiguo 27/11/2012, 10:52
 
Fecha de Ingreso: julio-2012
Ubicación: Madrid
Mensajes: 95
Antigüedad: 11 años, 9 meses
Puntos: 2
Respuesta: ¿Cómo llamar a una función?

Pero si la función la tengo definida dentro del mismo archivo PHP, justo como he puesto en el primer post que puse
  #6 (permalink)  
Antiguo 27/11/2012, 11:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: ¿Cómo llamar a una función?

PHP no miente, si no haz definido la función por eso te marca el error, si lo que quieres es comprobar si existe debes de usar funcion_exists:
Código PHP:
Ver original
  1. function foo() {
  2.  
  3. }
  4. var_dump(function_exists('foo')); // bool (true)
  5. var_dump(function_exists('bar')); // bool (false)
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 06:32.