SóProvas


ID
2003293
Banca
UFCG
Órgão
UFCG
Ano
2016
Provas
Disciplina
Programação
Assuntos

Analise o código abaixo e assinale a alternativa correta. Considere que a linguagem em uso é PHP na versão 5.5.
1. <?php
2. function b($c, $d) {
3. return function() {
4. return $c * $d;
5. };
6. }
7. $a = b(2, 3);
8. echo call_user_func($a);
9. ?>

Alternativas
Comentários
  • Letra B e D são elimináveis.

    Lembrando que no PHP temos 2 tipos de passagens de parâmetros : cópia ou referência.

    Os PARÂMETROS podem ou não ser modificados DENTRO da função.

    Quando colocamos o símbolo “&” antes do parâmetro, estamos passando o parâmetro por “REFERÊNCIA”. Desta forma, qualquer alteração no parâmetro DENTRO da função, irá refletir no parâmetro FORA da função.

    Porém, quando não usamos o símbolo “&”, estamos passando o parâmetro por “CÓPIA”, e qualquer alteração DENTRO da função, NÃO irá refletir FORA do mesmo.

    Como na questão está sendo passado por cópia, podemos eliminar a letra A.

    Para validar a Letra E, basta colocar “&” antes de $c e $d.  

  • $nome = "yuri 01 rouba vagas";

     

    function imprimir (){

      echo $nome;

    }

     

    vai funcionar?

     

     

    não!!! php tem escopo: estático, local e global. Nesse caso, a função não consegue enxergar a variável