Questão de Programação — Linguagens de programação — FUNDATEC 2025
- Código
- qg472044
- Banca
- FUNDATEC
- Órgão
- GHC-RS
- Ano
- 2025
- Nível
- Médio
- Cargo
- Programador
- Aexplode(' ', $v)
- Bexplode(',', $v)
- Cexplode($v, ' ')
- Dexplode($v, ',')
- Eexplode($v, 'world')
GabaritoB — explode(',', $v)
Gabarito: letra B. A função explode() recebe dois parâmetros: o delimitador e a string a ser dividida. Se o delimitador não for encontrado na string, o retorno é um array contendo a string original como único elemento. Na variável $v = 'hello world', a vírgula não está presente, portanto explode(',', $v) retorna array([0] => 'hello world').
O delimitador é um espaço em branco, que existe na string. Logo, a string é dividida em duas partes: 'hello' e 'world'. O array resultante seria Array ([0] => hello, [1] => world), não o desejado.
Como a vírgula não aparece na string, a função explode(',', $v) retorna um array com um único elemento contendo a string original: Array ([0] => hello world).
A ordem dos parâmetros está trocada: explode() espera primeiro o delimitador e depois a string. Aqui a string $v é passada como primeiro argumento, o que está incorreto. Além disso, mesmo corrigindo a ordem, o delimitador seria '' (string vazia?), o que não produziria o resultado esperado.
Mesmo erro de ordem dos parâmetros da alternativa C. Além disso, o delimitador é a própria string, o que não faz sentido e geraria um erro ou resultado inesperado.
Novamente parâmetros na ordem trocada. Além disso, 'world' é um delimitador que aparece na string? Sim, 'world' está presente em 'hello world', então a string seria dividida em duas partes (antes e depois de 'world'), resultando em array(['hello ', '']). Não atende ao pedido.
Lembre-se da assinatura correta: explode(string $separator, string $string, int $limit = PHP_INT_MAX): array. O separador é sempre o primeiro argumento. Se ele não existir na string, o array terá um único elemento.
Gabarito: letra B
Link permanente: /questoes/qg472044