Mais sobre funções: passagem de parâmetros

Este capítulo pretende ser uma ampliação de detalhes relacionados com o artigo dedicado às funções em PHP.

Por Miguel Angel Alvarez - Tradução de JML


Publicado em: 18/7/04
Valorize este artigo:
Vamos explicar alguns detalhes adicionais sobre a definição e uso de funções, para ampliar o artigo de funções em php.

Passagem de parâmetros

Os parâmetros são dados que recebem as funções e as utilizam para realizar as operações de função. Uma função pode receber qualquer número de parâmetros, ou mesmo nenhum. Na hora de definir a função, no cabeçalho, definem-se os parâmetros que vai receber.

function f1 ($parametro1, $parametro2)

Assim definimos uma função f1 que recebe dois parâmetros. Como se pode observar, não temos de definir o tipo de dados de cada parâmetro.

Os parâmetros tem validede durante a execução da função, isto é, tem um âmbito local à função de onde se recebem.Quando a função termina, os parâmetros deixam de existir.

Os parâmetros por valor

A passagem de parâmetros em PHP realiza-se por valor. "Por valor" é uma maneira típica de passar parâmetros em funções, quer dizer que a modificação de um parâmetro não actualiza o dado da variável como parâmetro, apesar de mudarmos o valor do parâmetro dentro da função, a variável original não se vê afectada pela mudança. Veja melhor num exemplo:

function porvalor ($parametro1){
$parametro1="olá";
echo "
" . $parametro1; //imprime "olá"
}

$minhavariavel = "isto não muda";
porvalor ($minhavariavel);
echo "<br>" . $minhavariavel; //imprime "isto não muda"


Esta página terá como resultado:

olá
isto não muda

Passagem de parâmetros por referência

Em contraposição à passagem de parâmetros por valor, está a passagem de parâmetros por referência. Neste último caso, a mudança do valor de um parâmetro dentro de uma função afecta o valor da variável original.

Podemos passar os parâmetros por referência se, na declaração da função, colocarmos um "&" antes do parâmetro.

<?
function porreferencia(&$cadeia)
{
$cadeia = 'Sim muda';
}
$str = 'Isto é uma cadeia';
porreferencia ($str);
echo $str; // Imprime 'Sim muda'
?>


Este script mostrará pelo ecrã 'Sim muda'.

Parâmetros pré-definidos

Podemos definir valores pré-definidos para os parâmetros. Os valores pré-definidos servem para que os parâmetros contenham algum dado pré-definido, que será o valor da variável se não se lhes passa nenhum valor na chamada da função. Os valores por defeito definem-se atribuindo um dado ao parâmetro quando se declara na função.

function predefinido ($parametro1="Zé";$parametro2=3)

Para a definição de função anterior, $parametro1 tem como valor pré-definido "Zé", assim como $parametro2 tem 3 como valor pré-definido.

Se chamarmos à função sem indicar valores aos parâmetros, estes tornar-se-ão valores atribuídos.

predefinido () // $parametro1 igual a "Zé" e $parametro2 igual a 3

Se chamarmos a função indicamos um valor, este será tido em conta para o primeiro parâmetro.

predefinido ("olá") // $parametro1 igual a "olá" e $parametro2 igual a 3

Atenção, estamos obrigados a declarar todos os parâmetros com valores por defeito no fim.





Comentários do artigo
Foi enviado 1 comentário ao artigo
1 comentário não revisado
0 comentários revisados

Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato