[PHP] Como usar funções

Started by Teotónio Ricardo, August 16, 2007, 12:31:11 AM

Previous topic - Next topic

Teotónio Ricardo

Boas

Nos códigos que tenho feito, nunca tenho usado funções, mas agora que quero diminuir o código e limpar-lo, gostava de saber como usar funções em php.

Pelo que percebi temos

function calcular($x, $y)

{

$resultado = $x + $y;

}

E depois para chamar a função usamos:

calcular(1, 2);
Estou correcto ou errado?

southafrikanse

Tens de retornar a variável resultado não?
Blog Pessoal | Tugatrónica | Fórum Webtuga
"Knowledge is knowing that a tomato is a fruit, but Wisdom is knowing not to put it in a fruit salad."

puTo.hc

Escreve-se limpa-lo e não limpar-lo  :x

sorry OFFtopic, mas não resisti :x

masterhard:
on 1:join:#WebTuga: { if ($nick == cenourinhas) { //kick $chan $nick BURRO! } }

ilovehentai

Quando executas uma função sem retorno. basicamente estás a proceder a um procedimento, isto é imagina que tens um bocadão de código que se repete várias vezes e que esse bocado de código é apenas um procedimento que não volta a ser usado, então se o meteres todo numa função, apenas terás de a chamar as vezes que quiseres para executar o procedimento (exemplo: para quem conhece VB .Net por exemplo poderá fazer essas distinções lembrando-se das funções e das Sub)

Neste caso não é o facto, o que pretendes é que a função faça um cálculo e depois retorna o seu resultado, como tal terás de usar o "return".
O return permite retonar 1 valor ao qual poderá ser associado a uma varíavel. Existe truques em certas linguagens de programação que permitem retornar mais que um valor, por exemplo em Python posso retornar vários valores o que na realidade não é mais do que uma Tuple que me será retornada, o que depois poderei aceder como se de um array se tratasse.

Voltando ao teu caso o que deverás ter será algo mais assim.

function calcular($a, $b){



$c = $a + $b;

return $c;



}



echo calcular(1, 2);

Este echo irá retornar o valor da adição mas poderias ter algo assim


function calcular($a, $b){



$c = $a + $b;

return $c;



}



$x = calcular(1, 2);

$z = $x - 2;

Neste exemplo o valor calculado na função é colocado numa variável que depois é utilizada fora da função.

Para concluir é de referir que as variáveis são locais, isto é, uma variável utilizada dentro de uma função apenas na mesma é utilizada, se tentar utilizar a variável fora da função irá dar erro, tal como se ela não estivesse declarada.

Teotónio Ricardo

Obrigado, acho que fiquei esclarecido.