PHP (03) Funciones (03) Valores de retorno

Cuando comenzamos a hablar de funciones, dijimos que las funciones pueden tener un valor de retorno, el cual aun no hemos incluido en nuestras funciones pero que ahora si vamos a ver…

Retorno de datos

Supongamos que queremos calcular el cuadrado de un numero, pero no queremos que la función muestre ese valor, cosa recomendable, y tampoco queremos hacerlo por referencia, de modo que necesitamos un valor de retorno, de la siguiente forma:
En la medida de lo posible hay que evitar que las funciones muestren valores por pantalla.
<?php
 $valor =3;
 $cuadrado = cuadrado($valor);

 echo '<p>El cuadrado de ' . $valor . ' es ' . $cuadrado .  '</p>';

 function cuadrado($numero)
 {
  $numero *= $numero;
  return $numero;
 } 
?>
Vemos como aparece la variable $cuadrado cuyo valor hace la llamada a la función y esta hace un return con el resultado el cual se guarda como la variable $cuadrado que podemos utilizar luego libremente.



Retorno de matrices

Consideremos que queremos devolver una matriz. La forma de hacerlo es tan sencilla como hacerlo con los datos.
Supongamos que tenemos una función llamada creaArray que recibe como argumento un valor, ese valor es el número de índices que tendrá nuestro array creado en la función y el cual devuelve para poder trabajar con él.
Esto es tan fácil como el siguiente código:
<?php
 $datos = creaArray(3);
 echo "Esta es la primera matriz:<br>";
 print_r($datos);
 echo "<br>";
 $datos_2 = creaArray(4);
 echo "Esta es la segunda matriz:<br>";
 print_r($datos_2);

 function creaArray($numero)
 {
  for ($contador_ciclos = 0; $contador_ciclos < $numero; $contador_ciclos++){
   $matriz[] = $contador_ciclos;
  }
  return $matriz;
 }
?>
Aquí vemos como se crean dos arrays llamando a la misma función y como esta crea las variables devolviéndolas del mismo modo que si fueran datos.