Devolución de valores

Podemos añadir la instrucción return en cualquier lugar dentro de una función. Su cometido es doble. Por una parte, marca el final de una función y es el punto donde se detiene la ejecución de la misma. Por otra parte, puede ser utilizado para devolver valores. En este caso se ha de tener en cuenta que no es necesario especificar en la definición de una función el tipo de datos del valor devuelto. Incluso sería posible que una función devolviera datos de diferente tipo según la entrada, o que pudiera devolver un valor en algunos casos y en otros no.

En el siguiente ejemplo, se define la función mayor, que recibe dos parámetros y devuelve el mayor de los dos, a menos que se haya llamado a la función con menos de dos parámetros, en cuyo caso simplemente se mostrará un mensaje de error y no se devolverá nada:

function mayor($x, $y)
{
   if (!isset($x) || !isset($y))
   {
      echo 'Esta función requiere dos valores';
      return;
   }
   elseif ($x > $y)
      return $x;
   else
      return $y;
}
$a = 2; $b = 3.4; $c = 1.9;
echo mayor($a, $b) . '<br />';
echo mayor($c, $a) . '<br />';
mayor($b, $a);

[PHP7] Declaraciones de tipo en el return (devolución)

Además de poder declarar qué tipos de datos esperamos recibir en nuestras funciones con la nueva versión, también podemos definir qué tipo de datos debe retornar nuestra función, permitiéndonos aún más control de lo que pasa dentro de nuestro sistema.

Las declaraciones de tipo de devolución especifican el tipo del valor que será devuelto por una función. Están disponibles los mismos tipos tanto para las declaraciones de tipo de devolución como para las declaraciones de tipo de argumento.


function mayor($x, $y): int
{
 if (!isset($x) || !isset($y)) {
   echo 'Esta función requiere dos valores';
   return -1;
 }
 elseif ($x > $y)
   return $x;
 else
   return $y;
}
$a = 2; $b = 3.4; $c = 1.9;
echo mayor($a, $b) . '<br />';
echo mayor($c, $a) . '<br />';
mayor($b, $a);

results matching ""

    No results matching ""