Las funciones en PHP, como en otros lenguajes de programación, son bloques de código reutilizables que realizan una tarea específica. Las funciones permiten estructurar y modularizar el código, haciéndolo más organizado y fácil de mantener.
¿Qué son las funciones en PHP?
Las funciones en PHP son conjuntos de instrucciones que se agrupan bajo un nombre y que pueden ser ejecutadas en cualquier momento llamando a ese nombre. Las funciones pueden recibir parámetros (argumentos) y devolver un valor. PHP incluye una gran cantidad de funciones predefinidas (cómo por ejemplo las funciones que vimos con los arreglos en clases anteriores), pero los desarrolladores también pueden definir sus propias funciones.
¿Cuál es la diferencia entre las funciones y los procedimientos?
En el contexto de la programación, las funciones y los procedimientos (también conocidos como subrutinas) son ambos bloques de código reutilizables que realizan una tarea específica. Sin embargo, hay algunas diferencias clave entre ellos
Funciones
Retorno de valores:
Una función generalmente devuelve un valor como resultado de su ejecución. Este valor puede ser utilizado en otras partes del programa.
En PHP, se usa la palabra clave return para devolver un valor desde una función.
Uso en expresiones:
Las funciones se pueden utilizar dentro de expresiones, ya que devuelven valores. Por ejemplo, el resultado de una función puede ser asignado a una variable o utilizado en una operación.
Estructura típica de una función:
function nombreDeLaFuncion($parametros) {
// Cuerpo de la función
return $valor;
}
function sumar($a, $b) {
return $a + $b;
}
$resultado = sumar(2, 3); // la variable $resultado tendrá el valor 5
Procedimientos (Subrutinas)
No retorno de valores:
Un procedimiento generalmente no devuelve un valor. Su propósito principal es realizar una serie de acciones o modificar el estado de variables globales o pasadas por referencia.
Aunque en PHP todas las funciones técnicamente pueden devolver un valor, un procedimiento se considera como tal si no se usa return o si return no devuelve un valor significativo.
No se recomienda usar en expresiones:
Los procedimientos no se suelen usar dentro de expresiones ya que no devuelven valores que puedan ser evaluados.
Estructura típica:
function nombreDelProcedimiento($parametros) {
// Cuerpo del procedimiento
// No hay return explícito o se usa return sin un valor específico }
function imprimirMensaje($mensaje) {
echo $mensaje;
}
imprimirMensaje("Hola, mundo!"); // Imprime "Hola, mundo!"
¡Importante!
La principal diferencia entre funciones y procedimientos radica en el hecho de que las funciones están diseñadas para devolver un valor, mientras que los procedimientos están diseñados para ejecutar una serie de comandos sin devolver un valor significativo. En PHP, esta diferencia es más conceptual, ya que la estructura de ambos es similar y se definen utilizando function.
Algunos ejemplos clásicos para el uso de funciones y procedimientos
function saludar() {
echo "Hola, mundo!"; } saludar(); // Llama a la función
function saludar($nombre) {
echo "Hola, $nombre!";
}
saludar("Luis"); // Llama a la función con el parámetro "Luis"
function sumar($a, $b) {
return $a + $b;
}
echo sumar(5, 3); // Imprime 8
function obtenerMensaje() {
return "Este es un mensaje.";
}
echo obtenerMensaje(); // Imprime "Este es un mensaje."
function saludar($nombre = "Amigo") {
echo "Hola, $nombre!";
}
saludar(); // Imprime "Hola, Amigo!"
saludar("Luis"); // Imprime "Hola, Luis!"
function sumar(float $a, float $b): float {
return $a + $b;
}
echo sumar(1.2, 3.4); // Imprime 4.6
//Función anónima (el cálculo de la función se guarda en la variable)
$saludar = function($nombre) {
echo "Hola, $nombre!";
};
$saludar("Carlos"); // Llama a la función anónima
//Función recursiva
function factorial($numero) {
if ($numero == 0) {
return 1;
} else {
return $numero * factorial($numero - 1);
}
}
echo factorial(5); // Imprime 120
function imprimirArray($arr) {
foreach ($arr as $elemento) {
echo $elemento . " ";
}
}
$numeros = array(1, 2, 3, 4, 5);
imprimirArray($numeros); // Imprime "1 2 3 4 5 "
Veremos más ejemplos en clase!, ¡hasta el próximo post!.








Deja un comentario