Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Quanto ao operador =>

Acho que a dúvida por até parecer boba, mas vou perguntar mesmo assim.

No caso, ao passar valores para um array, a sintaxe é a seguinte:

$contasCorrentes = [
    '123.456.789-10' => [
        'titular' => 'Vinícius',
        'saldo' => 100.0
    ]
];

Ou seja, key => value, valor à direita é atribuído à chave na esquerda. Até aí tudo bem. Mas ao utilizar a função list(), parece que o operador "está na direção contrária"?!

list('titular' => $titular, 'saldo' => $saldo) = $conta;

Agora fica key => var, mas o valor da chave à esquerda passa para a variável na direita? Se eu fosse desenhar, é como se o fluxo tivesse "mudado de direção" (melhor analogia que encontrei). Tipo, foi desse sentido (←) para esse (→), embora o sinal seja o mesmo em ambos os casos (=>). Para mim, pelo menos faz mais sentido que no 1º caso o sinal fosse 'titular' <= 'Vinícius' (key 'recives' value) e no segundo, 'titular' => '$titular' (key 'attributes to' $var). Enfim, posso estar fazendo confusão, mas espero que tenha conseguido expressar minha dúvida.

1 resposta
solução!

Opa, Samuel.

Basicamente, esse operador serve para organizar chaves e valores e não para fazer atribuições. No array nós definimos a chave e o valor. Na função list nós definimos quais variáveis (valores) serão criados a partir das chaves. Mas a organização é sempre a mesma: chave => valor