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

DÚVIDA DOCUMENTAÇÃO PHP

Eu estou tentando entender como funciona o comportamento do último parâmetro dessa função do PHP:

mb_convert_case(string $string, int $mode, ?string $encoding = null): string

Se a documentação diz que o parâmetro "encoding" é nulo por padrão, qual o motivo do uso do "?" antes da tipagem string?

1 resposta
solução!

Olá, Victor!

No PHP, o "?" antes do tipo de uma variável em uma função indica que o parâmetro é opcional e pode ser de tipo NULL, além do tipo especificado.

No caso da função mb_convert_case(string $string, int $mode, ?string $encoding = null): string, o "?" antes de "string" indica que o parâmetro $encoding pode ser de tipo NULL ou string. Quando você vê "= null" depois do parâmetro, isso significa que o valor padrão do parâmetro é NULL, ou seja, se você não passar nada para $encoding quando chamar a função, ele será considerado como NULL.

Por exemplo, se você chamar a função assim: mb_convert_case('Olá, Mundo!', MB_CASE_UPPER), o PHP vai entender como se você tivesse chamado assim: mb_convert_case('Olá, Mundo!', MB_CASE_UPPER, null).

Espero ter ajudado e bons estudos!