PHP - Funciones

Las funciones de PHP son similares a otros lenguajes de programación. Una función es un fragmento de código que toma una entrada más en forma de parámetro, realiza algún procesamiento y devuelve un valor.

Ya has visto muchas funciones como fopen() y fread() Son funciones integradas, pero PHP también le da la opción de crear sus propias funciones.

Hay dos partes que deberían quedar claras para usted:

  • Crear una función PHP
  • Llamar a una función PHP

De hecho, apenas necesita crear su propia función PHP porque ya hay más de 1000 funciones de biblioteca integradas creadas para diferentes áreas y solo necesita llamarlas de acuerdo con sus requisitos.

Consulte Referencia de funciones de PHP para obtener un conjunto completo de funciones útiles.

Crear función PHP

Es muy fácil crear su propia función PHP. Suponga que desea crear una función PHP que simplemente escribirá un mensaje simple en su navegador cuando la llame. El siguiente ejemplo crea una función llamada writeMessage () y luego la llama justo después de crearla.

Tenga en cuenta que al crear una función, su nombre debe comenzar con la palabra clave function y todo el código PHP debe colocarse entre llaves {y} como se muestra en el siguiente ejemplo a continuación:

<html>
   
   <head>
      <title>Writing PHP Function</title>
   </head>
   
   <body>
      
      <?php
         /* Defining a PHP Function */
         function writeMessage() {
            echo "You are really a nice person, Have a nice time!";
         }
         
         /* Calling a PHP Function */
         writeMessage();
      ?>
      
   </body>
</html>

Esto mostrará el siguiente resultado:

You are really a nice person, Have a nice time!

Funciones PHP con parámetros

PHP le da la opción de pasar sus parámetros dentro de una función. Puede pasar tantos parámetros como desee. Estos parámetros funcionan como variables dentro de su función. El siguiente ejemplo toma dos parámetros enteros y los suma y luego los imprime.

<html>
   
   <head>
      <title>Writing PHP Function with Parameters</title>
   </head>
   
   <body>
   
      <?php
         function addFunction($num1, $num2) {
            $sum = $num1 + $num2;
            echo "Sum of the two numbers is : $sum";
         }
         
         addFunction(10, 20);
      ?>
      
   </body>
</html>

Esto mostrará el siguiente resultado:

Sum of the two numbers is : 30

Pasar argumentos por referencia

Es posible pasar argumentos a funciones por referencia. Esto significa que la función manipula una referencia a la variable en lugar de una copia del valor de la variable.

Cualquier cambio realizado en un argumento en estos casos cambiará el valor de la variable original. Puede pasar un argumento por referencia agregando un ampersand al nombre de la variable en la llamada a la función o en la definición de la función.

El siguiente ejemplo muestra ambos casos.

<html>
   
   <head>
      <title>Passing Argument by Reference</title>
   </head>
   
   <body>
      
      <?php
         function addFive($num) {
            $num += 5;
         }
         
         function addSix(&$num) {
            $num += 6;
         }
         
         $orignum = 10;
         addFive( $orignum );
         
         echo "Original Value is $orignum<br />";
         
         addSix( $orignum );
         echo "Original Value is $orignum<br />";
      ?>
      
   </body>
</html>

Esto mostrará el siguiente resultado:

Original Value is 10
Original Value is 16

Funciones PHP que devuelven valor

Una función puede devolver un valor usando el returndeclaración junto con un valor u objeto. return detiene la ejecución de la función y envía el valor al código de llamada.

Puede devolver más de un valor de una función usando return array(1,2,3,4).

El siguiente ejemplo toma dos parámetros enteros y los suma y luego devuelve su suma al programa de llamada. Tenga en cuenta quereturn La palabra clave se utiliza para devolver un valor de una función.

<html>
   
   <head>
      <title>Writing PHP Function which returns value</title>
   </head>
   
   <body>
   
      <?php
         function addFunction($num1, $num2) {
            $sum = $num1 + $num2;
            return $sum;
         }
         $return_value = addFunction(10, 20);
         
         echo "Returned value from the function : $return_value";
      ?>
      
   </body>
</html>

Esto mostrará el siguiente resultado:

Returned value from the function : 30

Configuración de valores predeterminados para parámetros de función

Puede configurar un parámetro para que tenga un valor predeterminado si la persona que llama a la función no lo pasa.

La siguiente función imprime NULL en caso de que el uso no pase ningún valor a esta función.

<html>
   
   <head>
      <title>Writing PHP Function which returns value</title>
   </head>
   
   <body>
      
      <?php
         function printMe($param = NULL) {
            print $param;
         }
         
         printMe("This is test");
         printMe();
      ?>
      
   </body>
</html>

Esto producirá el siguiente resultado:

This is test

Llamadas a funciones dinámicas

Es posible asignar nombres de funciones como cadenas a variables y luego tratar estas variables exactamente como lo haría con el nombre de la función. El siguiente ejemplo muestra este comportamiento.

<html>
   
   <head>
      <title>Dynamic Function Calls</title>
   </head>
   
   <body>
      
      <?php
         function sayHello() {
            echo "Hello<br />";
         }
         
         $function_holder = "sayHello";
         $function_holder();
      ?>
      
   </body>
</html>

Esto mostrará el siguiente resultado:

Hello