# Function PHP: Como usar funções em PHP para reutilizar códigos

Uma função em PHP (*function PHP*) permite a invocação e a execução do **mesmo blocos de código infinitas vezes**, sem que estes tenham de ser repetidos. Ou seja, em PHP, funções facilitam a realização de tarefas e ainda diminuem a possibilidade de ocorrência de erros.

## O que são funções em PHP?

Funções em PHP são **blocos de código nomeados** que executam uma instrução específica ou uma série de instruções. Essenciais para uma programação mais organizada, elas dividem códigos escritos em PHP em unidades estruturadas e reutilizáveis. A linguagem PHP suporta tanto funções internas, utilizadas na execução de tarefas comuns por *strings*, *arrays* e [*loops* PHP](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/php-loop/), quanto funções criadas por usuários. Estas possibilitam que projetos e aplicações sejam personalizados.

## Diferenças entre funções internas e criadas por usuários

Entende-se por **funções internas** (*built-in functions*), funções já incorporadas e comuns à linguagem de programação PHP. A maioria delas integra a biblioteca da linguagem e é disponibilizada a qualquer usuário, sem a necessidade de qualquer complemento. Há aquelas, contudo, que requerem extensões especiais. Funções em PHP são utilizadas para que tarefas comuns sejam programadas e realziadas com mais eficiência. Um exemplo é a função *strlen()*, que calcula o tamanho de uma *string*. Esta e outras funcionam otimizando códigos e aumentando o desempenho deles.

Já **funções definidas pelo usuário** nada mais são que funções criadas por um usuário específico, para o atendimento de uma demanda particular, ou para o solucionamento de um problema de um projeto em desenvolvimento ou execução. Esse tipo de função requer uma definição mais detalhada para que funcione corretamente.

Funções PHP definidas pelo usuário podem abranger algoritmos complexos e manipular dados. É possível, por exemplo, criar funções que fazem uso do [PHP para recuperar dados em bancos de dados MySQL/MariaDB](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/obter-dados-de-um-banco-de-dados-com-php-mysqli-query/ "Usar PHP para recuperar informações de um banco de dados MySQL/MariaDB") e que formatam esses dados para que eles sejam corretamente exibidos por páginas da internet.

Dica Assine o [Deploy Now](https://www.ionos.com/hosting/deploy-now "Deploy Now — IONOS") da IONOS e tenha a certeza de que seus projetos de desenvolvimento serão hospedados por uma plataforma de total confiança. Integre o Deploy Now ao seu repositório do GitHub para implementar e alterar códigos com muito mais facilidade.

## Sintaxe de funções em PHP

Funções em PHP definidas pelo usuário devem seguir determinados padrões para que possam ser executadas por um vódigo. Observe a estrutura básica que uma função em PHP deve respeitar:

```php
function functionName(parameter1, parameter2, ...) {
    // php function example code block
    return result; // optional
}
```

Destacamos e explicamos cada parte que compõem uma função PHP:

- ***function***: Essa palavra-chave sinaliza o início da definição da função.
- ***functionName***: Indica o nome da função, que deve ser único e descrever a finalidade dela.
- ***parameter1, parameter2, …***: Parâmetros nada mais são que valores a serem transmitidos a uma função PHP no momento de sua execução. Eles são opcionais e podem ser usados em qualquer quantidade.
- ***code block***: Bloco de código que executa a tarefa ou desempenha a operação programada.
- ***return result***(opcional): Somente se a função tiver de retornar um resultado você precisará adicionar ao código a declaração “return” (*PHP function return*).

Funções internas não precisam ser definidas ao serem utilizadas. Você pode executá-las de forma direta, sendo suficiente o respectivo identificador.

Dica Se você está começando a programar agora, não deixe de acessar o [tutorial PHP para iniciantes](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/criar-sites/aprenda-php-nosso-tutorial-abrangente-sobre-php-para-iniciantes/ "Primeiros passos no PHP: Tutorial para iniciantes") do nosso Digital Guide. Já se você tem dúvida sobre qual linguagem aprender, conheça as particularidades de cada uma delas com essas comparações: PHP vs. Python e PHP vs. JavaScript.

## Function PHP: Exemplos de uso

Acompanhe, abaixo, como funções em PHP podem ser aplicadas a códigos, em casos práticos:

### Atribuir valores padrão a parâmetros

Você pode definir valores padrão para parâmetros de uma função em PHP (*PHP funtion parameter*). Para fazer isso, especifique o **valor padrão desejado na definição da função**. Caso nenhum valor seja informado para um parâmetro no momento da definição da função, a ela será aplicado o valor padrão.

```php
function greet($name = "Tim") { 
    echo "Hello, $name"; 
} 
 
greet(); // Output: "Hello, Tim" 
greet("Max"); // Output: "Hello, Max"
```

### Transferir argumentos por referência

Valores podem ser transferidos a uma função “por valor” ou “por referência”. Transferências “por valor” utilizam uma cópia do valor para a realização das alterações. Isso quer dizer que as alterações realizadas não afetam o valor original fora da função. Por outro lado, transferências “por referência” **transmitem a variável real para a função**. Nesse caso, as modificações realizadas afetam o valor original. Faça esse tipo de transmissão adicionando o caractere especial *&amp;* à definição da função, como mostra o exemplo de código abaixo:

```php
function incrementByOne(&$num) {
    $num++;
}
$val = 5;
incrementByOne($val);
echo $val; // Output: "6"
```

Nesse código de exemplo, definimos a função *incrementByOne* utilizando o parâmetro `$num`, transmitido por referência. O trecho subsequente ao incremento trata-se de um [operador PHP](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/operadores-php/). Especificamente, ele adiciona 1 a números ou *strings*. Assim, ao ser executada, a função PHP acima aumentará o valor *$val* de 5 para 6. A mudança também será executada externamente, uma vez que essa se trata de uma transmissão de parâmetro por referência.


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/function-php/](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/function-php/) for AI/LLM consumption.