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. Este comentário foi removido pelo autor.

    ResponderExcluir
  4. 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
  5. Este comentário foi removido pelo autor.

    ResponderExcluir
  6. 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
  7. 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