Questão de Programação — PHP — VUNESP 2024
- Código
- vu086443
- Banca
- VUNESP
- Órgão
- SAAE de Aparecida - SP
- Ano
- 2024
- Nível
- Superior
- Cargo
- Analista de Tecnologia da Informação
O conteúdo impresso pelas duas chamadas da função echo será:- A0
- B00
- C01
- D10
- E11
O conteúdo impresso pelas duas chamadas da função echo será:GabaritoE — 11
Gabarito: letra E — a conta chega a 112 — alternativa E.
No PHP, o operador ponto (.) é o operador de concatenação de strings: ele junta dois valores como texto, um após o outro. Já o operador mais (+) é o operador de adição numérica: ele soma os valores como números. Como o PHP é de tipagem dinâmica e fraca, ele converte automaticamente os valores entre string e número conforme o operador usado.
Quando usamos o ponto, o PHP converte cada operando para string e os concatena: 1 . 1 vira '11'. Quando usamos o mais, o PHP converte os operandos para números e soma: 1 + 1 vira 2. A diferença é essencial: o ponto não soma, ele cola os textos.
Esta questão testa exatamente essa distinção: a primeira chamada usa o ponto (concatenação) e a segunda usa o mais (adição). O candidato que confunde os operadores erra a questão.
variáveis $a e $b com valor 1
primeira chamada: echo $a . $b
segunda chamada: echo $a + $b
O que queremos: o conteúdo impresso pelas duas chamadas de echo
A primeira chamada de echo usa o operador ponto, que é o operador de concatenação de strings no PHP. Ele junta os valores como texto, um após o outro, sem somar.
Por que esta fórmula: Não há fórmula; é a definição do operador ponto: ele converte os operandos para string e os une. Como $a e $b são 1, o resultado é a string '11'.
Pensar que o ponto é o operador de adição e somar 1 + 1 = 2, mas o ponto não soma.
A segunda chamada de echo usa o operador mais, que é o operador de adição numérica. Ele converte os operandos para números e os soma.
Por que esta fórmula: Não há fórmula; é a definição do operador mais: ele soma os valores numéricos. Como $a e $b são 1, o resultado é o inteiro 2.
Confundir o mais com o ponto e concatenar, resultando em '11' em vez de 2.
As duas chamadas de echo são executadas em sequência, então a saída final é a concatenação das duas saídas: primeiro '11' (da concatenação) e depois 2 (da soma).
Por que esta fórmula: Não há fórmula; é a ordem de execução do código.
Esquecer que a segunda chamada também imprime algo e responder apenas '11'.
Resposta: 112 — alternativa E
Link permanente: /questoes/vu086443