Aula 4 PHP

  Funções
Definição de Função
• São trechos de códigos que podem
  realizar qualquer tipo de tarefa, como por
  exemplo, somar dois números, testar se o
  valor de uma variável é válido, etc.
• São muito úteis para deixar o código mais
  organizado e modular.
• Podem ser chamadas a qualquer
  momento da execução de um programa.
Sintaxe
function nome_função(arg1 , arg2, arg3 ...
  argn)
{
  comandos

[ return <expressao> ]

}
Exemplo
<?php
function soma_valores ($valor1, $valor2, $valor3)
{
   $soma = $valor1 + $valor2 + $valor3;
   echo “ A soma dos valores $valor1, $valor2 e $valor3”;
   echo “é $soma”;
}
$n1 = 10;
$n2 = 20;
$n3 = 50;
soma_valores($n1, $n2, $n3);
?>
• Note que as variáveis que são passadas
  como parâmetros não precisam ter o
  mesmo nome dos argumentos definidos
  na função.

• A função apresentada não utiliza o
  comando return.
Utilizando o comando return
• O comando return devolve para o ponto
  de chamada da função o valor da variável
  ou expressão que aparece imediatamente
  após esse comando. Desse modo,
  podemos atribuir a uma variavel o valor
  retornado de uma função.
<?php
Function maiusculo($string){
   $string = strtoupper($string);
   $string = str_replace(“á”, “Á”, $string);
   $string = str_replace(“é”, “É”, $string);
   $string = str_replace(“í”, “Í”, $string);
   $string = str_replace(“ó”,”Ó”, $string);
   $string = str_replace(“ú”, “Ú”, $string);
   $string = str_replace(“â”, “”, $string);
   $string = str_replace(“ê”, “Ê”, $string);
   $string = str_replace(“ô”,”Ô”, $string);
   $string = str_replace(“î”, “Δ, $string);
   $string = str_replace(“û”, “Û”, $string);
   $string = str_replace(“ã”, “Ô, $string);
   $string = str_replace(“õ”,”Õ”, $string);
   $string = str_replace(“ç”,”Ç”, $string);
   $string = str_replace(“à”,”À”, $string);
   return $string;
}
$nome = “José Antônio”;
$nome_m = maiusculo($nome);
echo “O nome em letras maiusculas : $nome_m”;
?>
• strtoupper – Transforma uma string em
  letras maiusculas. Porém, dependendo da
  versão, esse comando não transforma
  caracteres acentuados.

• str_replace – Faz a substituição de
  determinada parte da string por outro
  dentro de uma variável.

 Ambos podem ser encontrados no manual
 do php.
• Uma função pode também, em vez de retornar um único valor,
  retornar um array contendo vários elementos.

<?php
Function clubes()
{
  $clubes[] = “Grêmio”;
  $clubes[] = “Palmeiras”;
  $clubes[] = “Vascão”;
  $clubes[] = “Atlético Mineiro”;
  $clubes[] = “Bahia”;
  return $clubes;
}

$nomes = clubes();
For ($i=0; $i < sizeof($nomes); $i++){
   echo “A variavel nomes vale “.$nomes[$i].”<br>”;
}
?>
Passagem de parâmetros: valor e referência

• Quando passamos uma variável como
  argumento por padrão estamos passando
  apenas o valor dela. Qualquer alteração feita
  dentro da função não se reflete sobre a variável
  no programa principal. Chamamos este
  processo de passagem de parâmetros por valor.

• Existem funções em que queremos que a
  variável passada como argumento seja alterada
  conforme as alterações feitas durante a
  execução da função. Este processo é chamado
  de passagem de parâmetros por referência.
•   A passagem de parâmetros por referência requer que seja colocado o
    símbolo ‘&’ antes do nome da variável.
    Exemplo:

<?php
function dobro($valor)
{
   $valor = 2 * $valor;
}
function duplica(&$valor)
{
   $valor = 2*$valor;
}
$valor = 5;
dobro($valor);
echo $valor. “<br>”;
duplica($valor);
echo $valor;
?>
Valores padrão
• Se uma função possui determinado parâmetro e
  no momento da chamada esse parâmetro não é
  enviado, podemos utilizar valores-padrão.

• Para definir esses valores, basta colocar um
  operador de atribuição após o parâmetro
  definido na função.

• Os valores-padrão devem ser sempre os últimos
  parâmetros definidos na função.
• Exemplo:
<?php
function teste($time, $titulo = “Campeão Mundial”)
{
   echo “o $time é $titulo<br>”;
}
teste(“Flamengo”, “Campeão Carioca”);
teste(“Atlético”, “Campeão Mineiro”);
teste(“Vasco”);
?>
Funções recursivas
• Chamamos de funções recursivas aquelas
  funções que chamam a elas mesmas.
Exemplo
<?php
   function teste($valor)
   {
          if($valor!=0)
          {
                     echo “Foi chamada a função teste passando o valor $valor<br>”;
                     teste($valor-1);
          }
   }
   teste(7);
?>

Aula 4 php

  • 1.
    Aula 4 PHP Funções
  • 2.
    Definição de Função •São trechos de códigos que podem realizar qualquer tipo de tarefa, como por exemplo, somar dois números, testar se o valor de uma variável é válido, etc. • São muito úteis para deixar o código mais organizado e modular. • Podem ser chamadas a qualquer momento da execução de um programa.
  • 3.
    Sintaxe function nome_função(arg1 ,arg2, arg3 ... argn) { comandos [ return <expressao> ] }
  • 4.
    Exemplo <?php function soma_valores ($valor1,$valor2, $valor3) { $soma = $valor1 + $valor2 + $valor3; echo “ A soma dos valores $valor1, $valor2 e $valor3”; echo “é $soma”; } $n1 = 10; $n2 = 20; $n3 = 50; soma_valores($n1, $n2, $n3); ?>
  • 5.
    • Note queas variáveis que são passadas como parâmetros não precisam ter o mesmo nome dos argumentos definidos na função. • A função apresentada não utiliza o comando return.
  • 6.
    Utilizando o comandoreturn • O comando return devolve para o ponto de chamada da função o valor da variável ou expressão que aparece imediatamente após esse comando. Desse modo, podemos atribuir a uma variavel o valor retornado de uma função.
  • 7.
    <?php Function maiusculo($string){ $string = strtoupper($string); $string = str_replace(“á”, “Á”, $string); $string = str_replace(“é”, “É”, $string); $string = str_replace(“í”, “Í”, $string); $string = str_replace(“ó”,”Ó”, $string); $string = str_replace(“ú”, “Ú”, $string); $string = str_replace(“â”, “”, $string); $string = str_replace(“ê”, “Ê”, $string); $string = str_replace(“ô”,”Ô”, $string); $string = str_replace(“î”, “Δ, $string); $string = str_replace(“û”, “Û”, $string); $string = str_replace(“ã”, “Ô, $string); $string = str_replace(“õ”,”Õ”, $string); $string = str_replace(“ç”,”Ç”, $string); $string = str_replace(“à”,”À”, $string); return $string; } $nome = “José Antônio”; $nome_m = maiusculo($nome); echo “O nome em letras maiusculas : $nome_m”; ?>
  • 8.
    • strtoupper –Transforma uma string em letras maiusculas. Porém, dependendo da versão, esse comando não transforma caracteres acentuados. • str_replace – Faz a substituição de determinada parte da string por outro dentro de uma variável. Ambos podem ser encontrados no manual do php.
  • 9.
    • Uma funçãopode também, em vez de retornar um único valor, retornar um array contendo vários elementos. <?php Function clubes() { $clubes[] = “Grêmio”; $clubes[] = “Palmeiras”; $clubes[] = “Vascão”; $clubes[] = “Atlético Mineiro”; $clubes[] = “Bahia”; return $clubes; } $nomes = clubes(); For ($i=0; $i < sizeof($nomes); $i++){ echo “A variavel nomes vale “.$nomes[$i].”<br>”; } ?>
  • 10.
    Passagem de parâmetros:valor e referência • Quando passamos uma variável como argumento por padrão estamos passando apenas o valor dela. Qualquer alteração feita dentro da função não se reflete sobre a variável no programa principal. Chamamos este processo de passagem de parâmetros por valor. • Existem funções em que queremos que a variável passada como argumento seja alterada conforme as alterações feitas durante a execução da função. Este processo é chamado de passagem de parâmetros por referência.
  • 11.
    A passagem de parâmetros por referência requer que seja colocado o símbolo ‘&’ antes do nome da variável. Exemplo: <?php function dobro($valor) { $valor = 2 * $valor; } function duplica(&$valor) { $valor = 2*$valor; } $valor = 5; dobro($valor); echo $valor. “<br>”; duplica($valor); echo $valor; ?>
  • 12.
    Valores padrão • Seuma função possui determinado parâmetro e no momento da chamada esse parâmetro não é enviado, podemos utilizar valores-padrão. • Para definir esses valores, basta colocar um operador de atribuição após o parâmetro definido na função. • Os valores-padrão devem ser sempre os últimos parâmetros definidos na função.
  • 13.
    • Exemplo: <?php function teste($time,$titulo = “Campeão Mundial”) { echo “o $time é $titulo<br>”; } teste(“Flamengo”, “Campeão Carioca”); teste(“Atlético”, “Campeão Mineiro”); teste(“Vasco”); ?>
  • 14.
    Funções recursivas • Chamamosde funções recursivas aquelas funções que chamam a elas mesmas. Exemplo <?php function teste($valor) { if($valor!=0) { echo “Foi chamada a função teste passando o valor $valor<br>”; teste($valor-1); } } teste(7); ?>