¿Que es una función?

Una función como también otros lenguajes de programación agrupa un bloque de código o conjuntos de instrucciones para luego ser llamado mediante un evento, primero se tiene que declarar la función para luego poder llamarla e invocarla.

Una función nos ayuda para no volver a reescribir código nuevamente.

nota

Ejemplo de Código :

// Declaro la funcion 
function saludar() { 
 echo "Hola, bienvenido.\n"; 
} 
// Llamo cuantas veces desee a la función 
saludar(); 
saludar();

Las funciones devuelven valores de cualquier tipo de dato.

Ejemplo de Código :

<?php

// Crea la función
function obtenerElSignificadoDeLaVida()
{
// Retorna un valor
return 42;

// Esto no llega a ejecutarse
echo "Esta línea nunca será ejecutada.\n";
}

// Ejecuta la función
$resultado = obtenerElSignificadoDeLaVida();
var_dump($resultado);

var_dump(obtenerElSignificadoDeLaVida());

Funciones con Parámetros

Son valores que recibe la función y una función puede tener uno o más parámetros.

<?php

// Declaro la funcion
function saludar($nombre)
{
echo "Hola {$nombre}.\n";
}

// llamo a la función cuantas veces quiera.
saludar('Roger');
saludar('Pedro');
saludar('Lalo');
saludar(5.1);

function sumar($numero1, $numero2, $numero3)
{
return $numero1 + $numero2 + $numero3;
}

echo sumar(4, 5, 1);
// Imprime el caracter de fin de línea del sistema operativo actual.
echo PHP_EOL;

function bienvenida()
{
// array con todos los parámetros de la función.
$nombres = func_get_args();

// Iteramos los nombres.
foreach ($nombres as $nombre) {
echo "Bienvenido, {$nombre}.\n";
}
}

//bienvenida('Ricardo', 'Alan', 'Alvaro', 'Fabian');
bienvenida('Ricardo', 'Alan', 'Fabian');

Funciones con Parámetros Tipificados

Las funciones que se les pasa parámetros las cuales los parámetros pueden tener el tipo dato al declarar una función. Al llamar a la función se tiene pasar con los parámetros establecidos en la declaración de lo contrario botara un Error Fatal.

Ejemplo de Código :

// Declaro la funcion
function imprimir(Array $datos){ 
 foreach($datos as $dato) { 
  echo "{$dato}. \n"; 
 } 
} 
// llamo a la funcion 
imprimir(["Roger", "Elias", "Edgar", "Joe"]);

¿Que es el Type hinting?

// Declaro la función 
function saludar(array $nombres) 
{ 
foreach ($nombres as $nombre) 
	{ 
		echo "Hola, {$nombre}.\n"; 
	} 
} 
// Llamo a la función 
saludar(['Pedro', 'Mateo', 'Lucas']); 
//saludar('Alvaro');

¿Que son las Closures?

Son funciones que no tienen nombre, conocidas como funciones anóminas. Deben terminar en punto y coma;

Podemos asignar closures a variables.

Ejemplo de Código :

<?php

function () {
echo "Soy una función anónima.\n";
};

$gato = function () {
echo "miau\n";
};

$gato();
$gato();
$gato();
$gato();
$gato();