elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 04:49  


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP
| | | |-+  Salidas de una función
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Salidas de una función  (Leído 358 veces)
ZHOSS-9

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Salidas de una función
« en: 22 Diciembre 2011, 01:06 »

Hay algo que siempre me ha llevado de cabeza y no entiendo. Yo he hecho funciones, sencillas.. pero funciones al fin y al cabo. El problema viene en que no sé cuando le tengo que asignar una salida, es decir:

Código
function holaMundo() {
       echo "Hola mundo";
}

Ahí, el contenido del parentesis está vacio, y el resultado será el echo..

Sin embargo, aquí un ejemplo más complejo:

Código
function fetch_replaced_session_url($url)
{
global $yrya;
 
$url = addslashes($url);
$url = fetch_removed_sessionhash($url);
 
if ($yrya->session->vars['sessionurl'] != '')
{
if (strpos($url, '?') !== false)
{
$url .= '&' . $yrya->session->vars['sessionurl'];
}
else
{
$url .= '?' . $yrya->session->vars['sessionurl'];
}
}
 
return $url;
}

¿Por qué se pide retornar $url? ¿Es decir, por qué es más útil retornarlo.. a qué se debe, qué hace? ¿No sirve igual guardarlo en una variable o algo parecido?

Un saludo y gracias por adelantado.


En línea
dark_sargon


Desconectado Desconectado

Mensajes: 532


CJ


Ver Perfil WWW
Re: Salidas de una función
« Respuesta #1 en: 22 Diciembre 2011, 17:27 »

Código
<?php
 
 echo "El resultado de sumar 5 y 6 es ";
 echo sumador(5,6); //Llamada a la función
 
 function sumador($num1,$num2){
   $resultado = $num1 + $num2;
   return $resultado;
 }
 
?>

Con return, se hace la suma y la misma llamada a la función toma el valor del resultado. Sin el return solo se hace la suma.


En línea

http://www.actimediaonline.com
Diseño Web, animación y más.

http://www.ciudadoscura.com
Diseño Web, electrónica, programación, móviles y más.
ZHOSS-9

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Salidas de una función
« Respuesta #2 en: 22 Diciembre 2011, 20:01 »

Pero sigo sin pillarlo.. retorna el valor de la suma, vale.
Aun así si pusieras

Código
  function sumador(){
   $num1 = 5;
   $num2 = 6;
   $resultado = $num1 + $num2;
}
 
  sumador();
  echo $resultado;

¿no haría lo mismo? ¿o me estoy equivocando?
Porque el resultado ya lo estás guardando en una variable, entonces el sentido de tener que guardarlo en el retorno de la función es lo que  no entiendo.. ¿daría igual hacerlo de las dos formas o guardarlo ahí tiene ventajas?
En línea
dark_sargon


Desconectado Desconectado

Mensajes: 532


CJ


Ver Perfil WWW
Re: Salidas de una función
« Respuesta #3 en: 22 Diciembre 2011, 21:47 »

No es correcto ya que la variable $resultado no puede ser usada por fuera de la función sumador(), es decir la variable $resultado de la función es diferente a la variable $resultado fuera de la función.

Otra cosa es que si asignas los valores de $num1 y $num2 dentro de la función, esta quedará inservible para otros valores diferentes a 5 y 6.

Suponiendo que tu script debe hacer 100 sumas, del modo que lo estás haciendo, tendrías que hacer 100 funciones mientras que usando bien las características de una función, bastaría con una sola.

Aclaro que sería posible hacerlo con el código que haz publicado pero debes hacer global la variable $resulado para poder usarla afuera:
Código
<?php
 
function sumador(){
  $num1 = 5;
  $num2 = 6;
  global $resultado;
  $resultado = $num1 + $num2;
}
 
 sumador();
 echo $resultado;
 
?>

Como te digo, sería mejor dejar variables las entradas de la función:
Código
<?php
 
function sumador($num1, $num2){
  return $resultado = $num1 + $num2;
}
 
 echo sumador(5,6);
 
?>
En línea

http://www.actimediaonline.com
Diseño Web, animación y más.

http://www.ciudadoscura.com
Diseño Web, electrónica, programación, móviles y más.
ZHOSS-9

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Salidas de una función
« Respuesta #4 en: 22 Diciembre 2011, 22:33 »

Ahora edito este mensaje, que me he confundido de tema y me creia que estaba respndiendo a otro !
Voy a probar lo que has dicho dark, pero me has ayudado mucho! Muchas gracias!
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Utilizando las salidas del pc
Dudas Generales
Lopardo 1 283 Último mensaje 24 Julio 2006, 21:07
por Za3LoT
Dos salidas a Internet « 1 2 »
Hacking Wireless
javier234- 24 1,726 Último mensaje 30 Septiembre 2006, 11:30
por usb_enabled
informacion las salidas en c++ « 1 2 »
Programación C/C++
O-LLOS-O 21 1,835 Último mensaje 17 Mayo 2009, 19:15
por vertexSymphony
Salidas ingenieria informatica
Foro Libre
CICOLO_111234 8 2,079 Último mensaje 21 Mayo 2010, 01:36
por andres_5
Salidas HDMI
Foro Libre
Ahm_Shere 2 743 Último mensaje 29 Septiembre 2010, 21:17
por dantemc
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines