Blog de programación, errores, soluciones

PHP / functions -Entendiendo las funciones en PHP

Las funciones en php son bloques de código o subalgoritmos el cual puede ser reutilizado y permite resolver una tarea específica. Las funciones deben ser definidas antes de ser llamadas o referenciadas.

Temas siguientes:

Funciones Definidas

La definida es la función a la cual le damos un nombre . El nombre de una función debe de empezar con una letra o guion bajo. Para declarar una función debe usar la palabra clave function.

<?php
function saludo(){ //declaracion de la funcion saludo
   echo "holaa !!";
}

saludo();// llamo a la funcion saludo


?>

Como podemos ver definimos una función con la palabra function u la llamamos con el nombre que le hemos dado en este caso saludo()

A una función también le podemos pasar parámetros vea el siguiente ejemplo.

<?php
function saludo($nombre){
   echo "hola $nombre !!";
}

saludo("Luis");
saludo("Mariam");


?>

Pasar parámetros por referencia a una función. A continuación la diferencia entre una cosa y otra.

<?php
    $a = 0;
    $b = 0;
    echo "tanto la variable a como b partiran con el mismo valor y veremos como cambia pasar algo por referencia o no";

    function porReferencia(&$n){
        $n = 2;
    }
    function sinReferencia($n){
        $n = 2;
    }

    porReferencia($a);
    echo "<br/>el valor de a: ".$a;
    sinReferencia($b);
    echo "<br/>el valor de b: ".$b;
    //como puede ver el valor de a ahora sera 2 y el de b seguira siendo 0
    //esta es la diferencia de usar una variable por referencia
?>

Funciones variables

Si una variable le siguen 2 parentesis () ejemplo $nombre() esta asumirá el nombre de valor de la variable a estas se le llama funciones variables. Obviamente la variable tendra que tener un valor string que cumpla con las reglas para nombres de funciones.

<?php
function hola(){
    echo "hola a todos";
}
$nombre= "hola"
$nombre();
?>

Funciones (build-in)

Otro tipo de funciones en php viene con muchas funciones ya pre-instaladas y otras que si las tratamos de usar sin que la extensión este instalados fallaran por ejemplo mysqli,curl, otros. Muchas de estas extenciones vienen preinstaladas si usamos un LAMP un WAMP o otro de este tipo.

Funciones anónimas

En las funciones anónimas estas no tiene un nombre alguno y puede ser usada en un callback o guardada en una variable o puede ser una función que sera usada directamente. Creo que ya use una en una variable una vez. De todos modos aquí unos ejemplos.

<?php
    
    $name = function($var){
        if(is_numeric($var)):
            return "es un numero";
        elseif(is_array($var)):
            return "es un array";
        else:
            return "no es un numero ni un array";
        endif;
    };

    echo $name(array(1,2));
?>

el siguiente ejemplo lo saque directo de php.net

<?php
echo preg_replace_callback('~-([a-z])~', function ($coincidencia) {
    return strtoupper($coincidencia[1]);
}, 'hola-mundo');
// imprime holaMundo
?>

Algunas cosas nuevas desde php 7.1

desde php 7.1 puede usar el termino use para referirse a variables en el entorno padre de esta.

También se puede predefinir lo que devolverá una función con : luego del nombre() de la función y el tipo que devolverá o void si es que la función no devolverá nada.

nomenclatura function nombre_funcion () : tipo_de_variable

<?php
$mensaje = 'hola';

// Sin "use"
$ejemplo = function () {
    var_dump($mensaje);
};
$ejemplo();

// Heredar $mensaje
$ejemplo = function () use ($mensaje) {
    var_dump($mensaje);
};
$ejemplo();

function llamar ($nombre) : string {
        return "llamando a $nombre";
}

Referencia:php.net


Ayudame: Por favor deja un comentario antes de irte, tu opinión es bienvenida. Si te gusta el contenido comparte.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Last 4 post in same category