Com o código PHP abaixo entende-se que: <?php$a = ‘hello’...

Próximas questões
Com base no mesmo assunto
Q819308 Programação

Com o código PHP abaixo entende-se que:

<?php

$a = ‘hello’;

$$a = “world”;

?>

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: A - a variável $a contem “hello” e foi criada a variável $hello contendo “world”.

Para entendermos o porquê da alternativa A estar correta, precisamos mergulhar em um conceito específico do PHP conhecido como variáveis variáveis. Quando você tem uma variável, como $a, e atribui a ela um valor que é também um nome de variável válido, ao prefixar essa variável com um segundo cifrão ($$), você está criando uma nova variável com o nome do valor da variável original.

No exemplo dado, a variável $a recebe inicialmente o valor "hello". Em seguida, a expressão $$a é utilizada, o que efetivamente está criando uma nova variável cujo nome é o valor de $a, isto é, $hello. Essa nova variável $hello é então atribuída com o valor "world".

Ao final da execução do código, temos duas variáveis definidas:

  • $a que contém o valor "hello".
  • $hello que contém o valor "world", criada dinamicamente pela expressão $$a.

Esse é um comportamento muito particular do PHP e pode ser fonte de confusão. As demais alternativas estão incorretas porque:

  • A alternativa B sugere que o valor de $a mudaria para "world", o que não ocorre.
  • A alternativa C menciona um erro de sintaxe que de fato não existe no código apresentado.
  • A alternativa D incorretamente se refere a $$a como uma constante, quando na verdade é uma variável criada dinamicamente.
  • A alternativa E sugere que a variável $a teria seu valor alterado para "$world", o que não é o caso.

Portanto, a compreensão correta do comportamento das variáveis variáveis no PHP é essencial para resolver esta questão, e é por isso que a alternativa A é a resposta certa.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

faça esta questao

 

Assinale a alternativa correta. Dado o código PHP abaixo, o resultado da penúltima linha será:

$a = “e”;

$b = “a”;

$c = “b”;

$d = “c”;

$e = “d”;

$$$$$e;

?>

 a)

a

 b)

b

 c)

c

 d)

d

 e)

e

http://php.net/manual/pt_BR/language.variables.variable.php  

"$$a" vai pegar uma variável cujo o nome é o valor de "$a"

Como "$a = 'hello' ", então "$$a" vai retornar a variável chamada "$hello".

Como ela não existe, ela vai ser criada.

Daí "$$a = 'world' " é equivalente a "$hello = 'world' "

"echo $hello" vai imprimir 'world'

GABARITO A

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo