Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
PHP – Type Casting e saída de var_dump
Gabarito: letra C. O código realiza conversões explícitas de tipo (cast) e exibe cada variável com var_dump. As saídas são: int(5), float(0), bool(true), string(0) "" e bool(false). A única alternativa que reproduz essa sequência é a C.
Regras de cast no PHP
(int) sobre float: trunca a parte decimal (5.34 → 5).
(float) sobre int: 0 → float(0).
(bool) sobre string não vazia (exceto "0"): true. "hello" → true.
(string) sobre string vazia: mantém string vazia (string(0) "").
(bool) sobre NULL: false.
Alternativa A — ❌ Incorreta
Todas as saídas são booleanas, o que não corresponde aos casts aplicados. As primeiras duas deveriam ser int e float.
Alternativa B — ❌ Incorreta
Erro nos tipos das duas primeiras: a primeira é float(5), o correto é int(5); a segunda é int(0), o correto é float(0). A última também está errada: bool(true) em vez de bool(false).
Alternativa C — ✅ Correta ⟵ GABARITO
Sequência exata:
int(5)
float(0)
bool(true)
string(0) ""
bool(false)
Alternativa D — ❌ Incorreta
Primeira: float(5.4) (deveria ser int(5), pois o cast trunca).
Quarta: string(NULL) "" – a sintaxe correta é string(0) "".
Quinta: bool(true) (deveria ser bool(false)).
Alternativa E — ❌ Incorreta
Primeira: float(5.4) (erro de truncamento).
Terceira: bool(false) – mas "hello" é não vazio, resulta em bool(true).
Quarta: string("") – a representação correta é string(0) "".
NÃO CAIA NESSA!
Cuidado com o truncamento do (int) sobre float: a banca pode esperar que você saiba que 5.34 vira 5 (não 5.4) e que o bool de string vazia ou NULL é false, enquanto qualquer string não vazia (exceto "0") é true.