Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Tipo de argumento

Onde posso ler mais sobre a forma que determinaram que o meu argumento seria um array? No código ficou assim:

function nome_funcao(parametros): array
4 respostas

Nesse trechinho de código, na verdade, você está indicando que a função retornará um array. Em PHP, para indicarmos os tipos dos argumentos, fazemos assim:


function nome_funcao(string parametro_um, int parametro_dois, array parametro_tres, ...)  {
    // ...
}

Acredito que as nomenclaturas dos tipos variam também, de acordo com a versão do PHP. Houve um caso na empresa onde eu trabalho onde um argumento anotado como int recebeu um valor do tipo integer em um servidor rodando PHP 5.6 e disparou um aviso pra gente.

No seu exemplo você usou array parametro_tres, dentro dos parênteses Porque na Aula é usado fora dos parênteses?

Como eu comentei, a notação fora dos parênteses ilustra que a função vai retornar um array ao final de sua execução.

Podemos ver isso em um exemplo de função que some dois números:


function somarValores(int valorUm, int valorDois): int
{
    $soma = $valorUm + $valorDois;

    return $soma;
}

Aqui, estamos indicando para o PHP que os parâmetro valorUm e valorDois vão ser do tipo int, como indicado logo antes de cada um deles, e que a função somarValores() deve retornar um valor do tipo int também, como inidcado após os dois pontos. Na hora de executarmos este código, se o valor retornado for algo diferente de um int (1.25, por exemplo), o PHP acusará o erro e dessa forma fica mais fácil de revisarmos a nossa lógica para ver o que não está correto.

solução!

Fala, Anderson. Não entendi bem sua dúvida, mas falo sobre tipos de argumentos no segundo curso de PHP:

https://cursos.alura.com.br/course/php-arrays-strings-funcoes/task/55524