PHP - Funções

As funções PHP são semelhantes a outras linguagens de programação. Uma função é um pedaço de código que recebe mais uma entrada na forma de parâmetro e faz algum processamento e retorna um valor.

Você já viu muitas funções como fopen() e fread() São funções integradas, mas o PHP também oferece a opção de criar suas próprias funções.

Existem duas partes que devem estar claras para você -

  • Criação de uma função PHP
  • Chamando uma função PHP

Na verdade, você dificilmente precisa criar sua própria função PHP porque já existem mais de 1000 funções de biblioteca embutidas criadas para diferentes áreas e você só precisa chamá-las de acordo com sua necessidade.

Consulte a Referência de funções do PHP para um conjunto completo de funções úteis.

Criação de função PHP

É muito fácil criar sua própria função PHP. Suponha que você queira criar uma função PHP que simplesmente escreverá uma mensagem simples em seu navegador quando você a chamar. O exemplo a seguir cria uma função chamada writeMessage () e a chama logo após criá-la.

Observe que, ao criar uma função, seu nome deve começar com a palavra-chave function e todo o código PHP deve ser colocado entre chaves {e} conforme mostrado no exemplo a seguir -

<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>

Isso exibirá o seguinte resultado -

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

Funções PHP com parâmetros

PHP oferece a opção de passar seus parâmetros dentro de uma função. Você pode passar quantos parâmetros desejar. Esses parâmetros funcionam como variáveis ​​dentro de sua função. O exemplo a seguir pega dois parâmetros inteiros, adiciona-os e imprime-os.

<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>

Isso exibirá o seguinte resultado -

Sum of the two numbers is : 30

Passando Argumentos por Referência

É possível passar argumentos para funções por referência. Isso significa que uma referência à variável é manipulada pela função em vez de uma cópia do valor da variável.

Quaisquer alterações feitas em um argumento nesses casos irão alterar o valor da variável original. Você pode passar um argumento por referência adicionando um "e" comercial ao nome da variável na chamada de função ou na definição da função.

O exemplo a seguir descreve ambos os 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>

Isso exibirá o seguinte resultado -

Original Value is 10
Original Value is 16

Funções PHP retornando valor

Uma função pode retornar um valor usando o returndeclaração em conjunto com um valor ou objeto. return interrompe a execução da função e envia o valor de volta para o código de chamada.

Você pode retornar mais de um valor de uma função usando return array(1,2,3,4).

O exemplo a seguir pega dois parâmetros inteiros, adiciona-os e retorna sua soma para o programa de chamada. Observe quereturn palavra-chave é usada para retornar um valor de uma função.

<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>

Isso exibirá o seguinte resultado -

Returned value from the function : 30

Definição de valores padrão para parâmetros de função

Você pode definir um parâmetro para ter um valor padrão se o chamador da função não o passar.

A função a seguir imprime NULL caso o uso não passe nenhum valor para esta função.

<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>

Isso produzirá o seguinte resultado -

This is test

Chamadas de função dinâmica

É possível atribuir nomes de função como strings a variáveis ​​e, em seguida, tratar essas variáveis ​​exatamente como faria com o próprio nome da função. O exemplo a seguir descreve esse comportamento.

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

Isso exibirá o seguinte resultado -

Hello