Correção
| From: | Diego Passos | Date: | Mon, 24 Oct 2005 01:23:58 +0000 |
| Subject: | Correção | ||
| Groups: | php.mirrors | ||
| Request: | Send a blank email to php-mirrors+get-29648@lists.php.net to get a copy of this message | ||
1=)Há dois erro na página
http://www.php.net/manual/pt_BR/functions.arguments.php<javascript:ol('http://www.php.net/manual/pt_BR/functions.arguments.php');>em:
Valores padrão de argumentos
Uma função pode definir valores padrão no estilo C++ para argumentos
escalares, como a seguir:
Exemplo 17-6. Utilizando parâmtros default em funções
<?php
function cafeteira ($tipo = "cappuccino")
{
return "Fazendo uma xícara de café $type.\n";
}
echo cafeteira ();
echo cafeteira ("expresso");
?>
Na assinatura a variável que definirá o valor a ser escrito esta declarada
como "$tipo" no return a variável esta como "$type"
2=)
Exemplo 17-7. Uso incorreto de parâmetros de função default
<?php
function iogurtera ($tipo = "azeda", $sabor)
{
return "Fazendo uma taça de $tipo $sabor.\n";
}
echo iogurtera ("framboesa"); // não funciona como esperado
?>
A saída do exemplo acima é:
Warning: Missing argument 2 in call to iogurtera() in
/usr/local/etc/httpd/htdocs/php3test/functest.html on line 41
Fazendo uma taça de framboesa.
Agora, compare o que está acima com este:
Exemplo 17-8. Uso correto de parâmetros de função default
<?php
function iogurtera ($sabor, $tipo = "azeda")
{
return "Fazendo uma taça de $tipo $sabor.\n";
}
echo iogurtera ("framboesa"); // "funciona"
?>
A saída deste exemplo fica:
Fazendo uma taça de framboesa azeda. contudo:
//return "Fazendo uma taça de $tipo $sabor.\n";
//$tipo vem na frente e $sabor depois mesmo que ignore
//a ordem de passagem de parametros por assinatura
//no return ele esta ao contrário fazendo assim dará um resultado "taça de
azeda framboesa".