NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!
UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI
FILTRO DE TUTORIAIS:
Objetivos:
Neste artigo continuamos a tratar sobre parâmetros de funções.
Pré-requisitos:
Ter estudados os artigos anteriores ou ter alguma experiência com PHP.
Nota: Este tutorial faz parte do Curso: PHP & MySQL.
Passando parâmetros por referência
No artigo anterior explicamos a forma padrão do PHP para passar parâmetros. A passagem de parâmetros por valor, agora iremos mostrar como funciona a passagem de parâmetros por referência.
Veja o código abaixo:
Fig. 1 Listagem do script code1501.php
Da linha 3 a linha 9 identificamos o script utilizando comentários de múltiplas linhas.
Da linha 12 a linha 21 definimos a função multiplicar.
A linha 12 utilizamos a palavra chave function para definir a função multiplicar e definir os parâmetros por ela utilizados. O primeiro parâmetro $fator1 não tem um valor padrão, já o segundo parâmetro $fator2 tem um valor padrão que é o inteiro 2.
Na linha 15 incrementamos o valor do parâmetro $fator1.
Na linha 16 decrementamos o valor do parâmtero $fator2.
Na linha 18 efetuamos a multiplicação do valor atual do $fator1 pelo valor atual do $fator2 e retornamos o resultado desta multiplicação como valor de retorno da função.
Na linha 24 declaramos a variável $para1 e atribuímos a ela o inteiro 9.
Na linha 25 declaramos a variável $para2 e atribuímos a ela o inteiro 21.
Nas linhas 28 a 30 imprimimos os valores atuais das variáveis $para1 ou $para2.
Veja que usamos o caractere \ no início das strings da linhas 29 e 30 para que o PHP interprete o “$” como um caractere comum e não como parte do identificador da variável.
Entre a linha 33 e 35 executamos a função e passamos os valores de $para1 e $para2 por referência. Para fazermos isso utilizamos o caractere & (e comercial) a esquerda do identificador de ambas as variáveis.
Nas linhas 38 a 40 imprimimos os valores das variáveis $para1 e $para2.
Veja o resultado do script na imagem abaixo:
Fig. 2 - Resultado do script code1501.php
Podemos ver que os valores das variáveis $para1 e $para2 foram alterados após a execução da função. Isto ocorreu porque os parâmetros foram passados por referência, conforme podemos ver na imagem abaixo:
Quando os parâmetros são passados por referências, ao contrário da passagem de parâmetros por valor, os valores das variáveis não são copiados para os parâmetros e sim o endereço de onde esta este valor armazenado na memória.
Lembre-mos que todo valor de uma variável fica armazenado em um determinado endereço da memória do computador. Quando passamos os parâmetros por valor este valor armazenado na memória e copiado para um outro endereço.
Quando este valor é passado por referência apenas é informado o endereço deste valor. Desta forma qualquer alteração realizada nestes valores é realizada em seu endereço original e não em sua cópia.
Passando um número de parâmetros variáveis
O PHP permite que você passe um número de parâmetros diferente do definido no momento de definição da função.
Veja o código abaixo:
Fig. 3 - Listagem do script code1502.php
Veja que na definição da função, linha 12, não é determinado nenhum parâmetro para ela. Porém na chamada da função, linha 51, são passados 4 parâmetros.
Estes parâmetros podem ser detectados e usados com o uso das seguintes funções.
func_num_args() que retorna o número de parâmetros passados.
func_get_arg(índice) que retorna o valor do parâmetro de acordo com o índice informado.
Func_get_args() que retorna um array contendo os parâmetros passados.
No script acima mostramos o funcionamento destas três funções.
Veja o resultado do script:
Fig. 4 - Resultado do script code1502.php no navegador
Como não há nenhum comando novo exceto as funções citadas. Deixo você quebrar um pouco a cabeça para entender o código do script code1502.php.
Para ver os scripts sendo executados clique nos links abaixo:
http://www.showy.com.br/~tutorial/artigos/phpbasico/15/code1501.php
http://www.showy.com.br/~tutorial/artigos/phpbasico/15/code1502.php
Para baixar os fontes clique no link abaixo:
http://www.showy.com.br/~tutorial/artigos/phpbasico/15/code15.zip
Até o próximo artigo,
Almir Rivas
Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434
Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208
Todos os direitos reservados, Júlio Battisti 2001-2024 ®
LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO
DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI