Função em PHP: Parâmetro e Argumento
Quando demos o exemplo da print(), inserimos dentre parêntesis uma informação, ou seja, um parâmetro, que no caso, é uma string.<?php print("Apostila PHP Progressivo"); ?>"Apostila PHP Progressivo" é o argumento que passamos para a função, que recebe como parâmetro uma string, que foi o que passamos.
A função pow() por exemplo, recebe dois números como parâmetros, a base e o expoente.
Exemplo:
<?php echo "3 elevado a 4: ".pow(3,4); ?>3 e 4 são os argumentos que enviamos pra função.
Retorno de uma função
Como explicamos, as funções são trechos de códigos que fazem coisas específicas e geralmente retornam um valor.No caso da pow(), ela deve ter uma implementação em algum canto do PHP, com diversas contas matemática dentro dela. Ela recebe dois parâmetros, faz alguns procedimentos e resultado no valor de um número elevado a outro...e retorna esse valor para o local onde a função foi invocada.
No exemplo dado, ela retornou pow(3,4)=81 para a echo, que exibe:
"3 elevado a 4: 81"
Exemplo de uso de função
Vamos declarar uma função, a soma() que vai receber dois parâmetros, dois números, vai realizar a soma e retornar essa soma.Nossa função fica assim:
function soma($a, $b){
$soma = $a + $b;
return $soma;
}
Veja o script:
<html> <head> <title>Apostila PHP Progressivo</title> </head> <body> <form action="" method="get"> Numero 1: <input type="number" name="a" /><br /> Numero 2: <input type="number" name="b" /><br /> <input type="submit" name="submit" value="Calcular" /> </form> <?php $a = $_GET['a']; $b = $_GET['b']; echo "Soma de $a + $b = ".soma($a, $b); function soma($a, $b){ $soma = $a + $b; return $soma; } ?> </body> </html>Agora basta o usuário inserir dois valores, passarmos esses valores na forma de argumentos para a função e printar o retorno
Exemplo de uso de função
Agora vamos criar uma função que recebe um número como parâmetro e retorna o fatorial deste número.
O escopo dela é:
function fat($n){
codigo que calcula o fatorial
return $fatorial;
}
Como já ensinamos a você a calcular o fatorial com laços antes, nosso script fica:
<html>
<head> <title>Apostila PHP Progressivo</title> </head> <body> <form action="" method="get"> Fatorial de: <input type="number" name="number" /><br /> <input type="submit" name="submit" value="Calcular" /> </form> <?php $n = $_GET['number']; echo "Fatorial de $n = ".fat($n); function fat($n){ $fatorial=1; $count=1; while($count<=$n){ $fatorial *= $count; $count++; } return $fatorial; } ?> </body> </html>