Funções no PHP

O poder do PHP vem das suas funções.
No PHP existem mais de 700 funções nativas disponíveis.
Neste tutorial nós mostraremos como criar suas próprias funções.
Para uma referencia e exemplo das funções nativas, visite a documentação do PHP.

Criando uma função

Uma função é um bloco de código que pode ser executado quando for necessário.

Funções no PHP:
  • Todas as funções começam com a palavra funcion
  • Nome da função - Deve ser possível entender o que a função faz pelo seu nome. O nome pode iniciar com uma letra ou traço baixo (_) mas nunca com números.
  • Uma função é sempre delimitada por chaves.
Exemplo

Uma função bem simples que escreve o meu nome quando é chamada.
   1:<html>
2:<body>
3:<?php
4:function escrevaMeuNome(){
5: echo "Thiago";
6:}
7:?>
8:</body>
9:</html>


Usando uma função PHP
Agora nós vamos usar esta função em um script:

   1:<html>
2:<body>
3:<?php
4:function escrevaMeuNome(){
5: echo "Thiago";
6:}
7:
8:echo "Olá amigo!";
9:echo "Meu nome é ";
10:escrevaMeuNome();
11:echo ".
12:Isso mesmo, ";
13:escrevaMeuNome();
14:echo " é o meu nome.";
15:?>
16:</body>
17:</html>

A saída do código acima será:

Olá amigo!
Meu nome é Thiago.
Isso mesmo, Thiago é o meu nome.
Parâmetros

Nossa primeira função (escrevaMeuNome()) é uma função muito simples. Tudo que ela faz é escrever um texto estático, que nunca muda.
Para que funções sejam mais úteis, elas podem receber parâmetros. Um parâmetro é uma variável que é recebida pela função.
Você deve ter percebido os parenteses depois do nome da função. Os parâmetros são especificados dentro dos parenteses.

Exemplo 1

O exemplo seguinte escreverá diferentes nomes mas sempre o mesmo sobrenome.
   1:<html>
2:<body>
3:<?php
4:function escrevaMeuNome($nome) {
5: echo $nome . " Ferreira.";
6:}
7:
8:echo "Meu nome é ";
9:escrevaMeuNome("Marcos");
10:
11:echo "Meu nome é ";
12:escrevaMeuNome("Marília");
13:
14:echo "Meu nome é ";
15:escrevaMeuNome("Jaqueline");
16:?>
17:</body>
18:</html>

A saída do código acima será:

Meu nome é Marcos Ferreira.
Meu nome é Marília Ferreira.
Meu nome é Jaqueline Ferreira.

Exemplo 2

A função abaixo tem dois parâmetros:
   1:<html>
2:<body>
3:<?php
4:function escrevaMeuNome($nome, $pontuação) {
5: echo $nome . " Ferreira" . $pontuação . "
6:";
7:}
8:
9:echo "Meu nome é ";
10:escrevaMeuNome("Marcos", ".");
11:
12:echo "Meu nome é ";
13:escrevaMeuNome("Marília", "!");
14:
15:echo "Meu nome é ";
16:escrevaMeuNome("Jaqueline", "...");
17:?>
18:</body>
19:</html>

A saida do código acima será:
Meu nome é Marcos Ferreira.
Meu nome é Marília Ferreira!
Meu nome é Jaqueline Ferreira...
Valores de retorno

Funções também podem ser usadas para retornar valores.

Exemplo
   1:<html>
2:<body>
3:<?php
4:function add($x,$y){
5: $total = $x + $y;
6: return $total;
7:}
8:
9:echo "1 + 16 = " . add(1,16);
10:?>
11:</body>
12:</html>

A saída do código acima será:
1 + 16 = 17
Fonte

9 comentários:

  1. Putz cara
    Voce é muito didático
    fiz os exercios do curos que estou pagando e nada retornava
    Vim aqui, e em dois segundos entendi (olha que sou analista assembler,mumps,caché,c++,etc)
    Parabens, tivesse achado o seu blog antes não tinha jogado dinheiro fora
    Grato por tudo

    ResponderExcluir
  2. Este comentário foi removido pelo autor.

    ResponderExcluir
  3. Em "Valores de retorno", vc poderia simplificar o código, acredito que incentivar a simplificação é legal. Nesta etapa do estudo a pessoa já deve entender o modo simplificado.

    Então, ao invés de:
    $total = $x + $y;
    return $total;

    Poderia ser apenas:
    return $x + $y;

    Outra sugestão é juntar matérias passadas com o conteúdo atual. Fiz um exemplo concatenando (hehe, quero dizer, unindo) a matéria anterior sobre "arrays" e "iterações":

    $fruta = array('banana','maçã','uva','ameixa');

    function NomeDaFruta($nome_da_fruta) {
    echo $nome_da_fruta . ' é gostosa.';
    }

    foreach ($fruta as $fr) {
    echo 'A função diz: ';
    NomeDaFruta($fr);
    echo '' . PHP_EOL;
    }

    IMPRIME:

    A função diz: banana é gostosa.
    A função diz: maçã é gostosa.
    A função diz: uva é gostosa.
    A função diz: ameixa é gostosa.

    Obs.: PHP_EOL é utilizado pra quebra de linha no html, não muda nada pra apresentação da página e é melhor utilizar PHP_EOL do que /n ou /r/n, pois é suportado por todos os sistemas.

    ResponderExcluir
  4. Este comentário foi removido pelo autor.

    ResponderExcluir
  5. Oi Thiago!

    Concordo com o "Putaveia", seus exemplos são simples e objetivos, como deve ser um curso on-line, já cheguei a lecionar programação dBase em cursos de computação e tive alunos de diversas idades, do tipo "8 aos 80", por isso não podemos complicar, quanto ao exemplo do "tkzdesign" é muito interessante, prova que ele é um criativo programador-professor, eu testei, mas sinto informar que o comando PHP_EOL não funcionou, eu substitui a linha:

    echo '' . PHP_EOL;

    pelo comando que você Thiago nos ensinou.

    E ai tudo deu certo, continue simples e objetivo pois dessa maneira o número de desistências vai ser muito menor.

    Abraços!!!

    ResponderExcluir
  6. Tiago parabéns estou super empolgado sua aulas são ótimas.
    Gostaria de pedir para você. Fazer um script para o usuário inserir a varial num campo exemplo input e um botão com o resultado da programação

    ResponderExcluir
    Respostas
    1. Adriano obrigado. Não entendi muito bem a sua idéia do script. Mas seria um campo para inserir um script e executar com um botão?

      Excluir
    2. Adriano obrigado. Não entendi muito bem a sua idéia do script. Mas seria um campo para inserir um script e executar com um botão?

      Excluir