Funciones de PHP

PHP tiene más de 1000 funciones integradas que se pueden llamar directamente, desde dentro. un guión, para realizar una tarea específica.

 Funciones definidas por el usuario de PHP

Además de las funciones PHP incorporadas, es posible crear sus propias funciones.

🟡 Una función es un bloque de instrucciones que se pueden utilizar repetidamente en un programa.
🟡 Una función no se ejecutará automáticamente cuando se cargue una página.
🟡 Una función se ejecutará mediante una llamada a la función.

 Crear una función definida por el usuario en PHP

Una declaración de función definida por el usuario comienza con la palabra function:

Sintaxis

  function functionName( ) {
    //Código a ser ejecutado;
  } 

Nota: El nombre de una función debe comenzar con una letra o un guión bajo. Los nombres de las funciones NO distinguen entre mayúsculas y minúsculas.

Tip: Asigne a la función un nombre que refleje lo que el ¡La función sí!

En el siguiente ejemplo, creamos una función llamada "writeMsg( )". La apertura llave ( { ) indica el comienzo del código de la función y el cierre La llave ( } ) indica el final de la función. La función genera "Hola mundo!". Para llamar a la función, simplemente escriba su nombre seguido de corchetes ( ):

Ejemplo 1

  <?php
    function writeMsg() {
      echo "Hola mundo!";
    }
          
    writeMsg(); // Llamando la función
  ?>

Quiero intentarlo


  Argumentos de la función PHP

La información se puede pasar a las funciones a través de argumentos. Un argumento es solo como una variable.

Los argumentos se especifican después del nombre de la función, dentro de los paréntesis. Tú Puede agregar tantos argumentos como desee, simplemente sepárelos con una coma.

El ejemplo siguiente tiene una función con un argumento ($fname). Cuando el se llama a la función fName( ), también pasamos un nombre (por ejemplo, Jani), y el nombre se utiliza dentro de la función, que genera varios nombres diferentes, pero un apellido igual:

Ejemplo 2

  <?php
    function familyName($fname) {
      echo "$fname Refsnes. <br>";
    }
          
    familyName("Jani");
    familyName("Juan");
    familyName("Carlos");
    familyName("Pedro");
    familyName("Boris");
  ?>    

Quiero intentarlo

El ejemplo siguiente tiene una función con dos argumentos ($fname y $year):

Ejemplo 3

  <?php
    function familyName($fname, $year) {
      echo "$fname Refsnes. Born in $year <br>";
    }
        
    familyName("Hugo", "1975");
    familyName("Stalyn", "1978");
    familyName("Kiara", "1983");
  ?>

Quiero intentarlo


  PHP es un lenguaje vagamente tipado

En el ejemplo anterior, observe que no tuvimos que decirle a PHP qué tipo de datos es la variable.

PHP asocia automáticamente un tipo de datos a la variable, dependiendo de su valor. Dado que los tipos de datos no se establecen en un sentido estricto, puede hacer cosas como Agregar una cadena a un entero sin causar un error.

En PHP 7, se agregaron declaraciones de tipo strict. Esto nos da una opción para especificar el tipo de datos esperado al declarar una función, y al agregar la declaración, arrojará un "Fatal Error" si el tipo de datos no coincide.

En el ejemplo siguiente intentamos enviar un número y una cadena a la función strict sin utilizar:

Ejemplo 4

  <?php
    function addNumbers(int $a, int $b) {
      return $a + $b;
    }
    echo addNumbers(5, "5 days");
    // ya que strict NO está habilitado "5 días" se cambia a int(5), y devolverá 10
  ?>

Quiero intentarlo

Para especificar necesitamos establecer strict declare(strict_types=1);. Esto debe estar en la primera línea del archivo PHP.

En el ejemplo siguiente intentamos enviar un número y una cadena al strict, pero aquí hemos añadido la declaración:

Ejemplo 5

  <?php declare(strict_types=1); //Requiere de strict

    function addNumbers(int $a, int $b) {
      return $a + $b;
    }
    echo addNumbers(5, "5 days");
    /* Dado que Strict está habilitado y "5 días"
       no es un entero, se producirá un error*/
  ?>

Quiero intentarlo


  Valor de argumento predeterminado de PHP

En el ejemplo siguiente se muestra cómo utilizar un parámetro predeterminado. Si llamamos al function setHeight() sin argumentos toma el valor predeterminado como argumento:

Ejemplo 6

  <?php declare(strict_types=1); // Requisito estricto
    function setHeight(int $minheight = 50) {
      echo "The height is : $minheight <br>";
    }
          
    setHeight(350);
    setHeight();//utilizará el valor predeterminado de 50
    setHeight(135);
    setHeight(80);
  ?>

Quiero intentarlo

 Funciones PHP - Devolver valores

Para permitir que una función devuelva un valor, utilice la instrucción return:

Ejemplo 7

  <?php declare(strict_types=1); // Requisito estricto
    function sum(int $x, int $y) {
      $z = $x + $y;
      return $z;
    }
        
    echo "5 + 10 = " . sum(5, 10) . "<br>";
    echo "7 + 13 = " . sum(7, 13) . "<br>";
    echo "2 + 4 = " . sum(2, 4);
  ?>

Quiero intentarlo


 Declaraciones de tipo de retorno PHP

PHP 7 también soporta declaraciones de tipo return para la sentencia. Al igual que con la declaración de tipo float para argumentos de función, al habilitar el requisito estricto, lanzará un "Fatal Error" en una discrepancia de tipo.

Para declarar un tipo para el retorno de la función, agregue dos puntos ( : ) y el tipo justo antes de la llave de apertura ( { ) al declarar la función.

Ejemplo 8

  <?php declare(strict_types=1); // Requisito estricto
    function addNumbers(float $a, float $b) : float {
      return $a + $b;
    }
    echo addNumbers(1.2, 5.2);
  ?>

Quiero intentarlo

Puede especificar un tipo de retorno diferente al de los tipos de argumento, pero hacer Seguro que la devolución es del tipo correcto:

Puede especificar un tipo de retorno diferente al de los tipos de argumento, pero hacer Seguro que la devolución es del tipo correcto:

Ejemplo 9

  <?php declare(strict_types=1); // Requisito estricto
    function addNumbers(float $a, float $b) : int {
      return (int)($a + $b);
    }
    echo addNumbers(1.2, 5.2);
  ?>

Quiero intentarlo