Bem, já que ninguem mais tentou responder vamos a solução do desafio.
Primeiro vamos analizar as variáveis, todos sabemos que o $ (cifrão)
indica a declaração de uma variável, porém não estamos acostumados ao $
$, neste caso pegamos o valor de uma variável para declarar outra,
vejamos no nosso problema:
$n = ‘X’;
$$n = ‘N’;
$m = ‘Y’;
$$m = ‘M’;
isso seria o mesmo que:
$n = 'X';
$X = 'N';
$m = 'Y';
$Y = 'M';
em seguida temos
$c = (int) ($n == $$n);
O que temos nesse bloco de código: declaramos a variável $c e logo a
frente nos deparamos com uma coisa também não muito comum (int) ele ai
serve apenas para converter o resultado da nossa condicional a frente
de boleano para inteiro. Neste caso $n vale X e $X vale n, assim sendo
temos um resultado FALSE que convertido para int torna-se 0.
no caso teriamos:
$c = 0;
Para fecharmos temos:
echo $
{
$c == 1 ?
$n:
$m
};
Colocando em uma linha para facilitar o entendimento: echo ${ $c ==
1 ? $n : $m }; neste caso abrimos um echo e colocamos o $ dizendo para
o echo imprimir uma variável. ai utilizamos dos operadores {} para
dentro dele fazermos uma condicional neste caso usando o operador
ternário, como sabemos que $c é igual a 0 teríamos impresso $m...
Assim sendo esse bloco de código ficaria assim:
echo $
{
$m
};
Como sabemos que $m vale Y teríamos:
echo $Y;
Que nos imprime:
M
hehehehe
Espero que tenha gostado, e se tiverem desafios ou coisas semelhantes
postam aqui para a gente esquentar um pouquinho o "juizo" hauhahuauha.
Qualquer dúvida estamos a disposição
Depois volto com mais algum desafio.
Abraços,
Cheops