Ir para conteúdo
Fórum Script Brasil
  • 0

Chamada de uma função em PHP.


Hugão

Pergunta

Galera, porque se a chamada da função vier antes da impressão (echo) o resultado mostrado na tela é diferente?

<?php

$num = 2000;

function testaEscopo()

{

echo $GLOBALS["num"]."\n";

$GLOBALS["num"]++;

}

//echo $num;

testaEscopo ();

echo $num;

?>

Se o echo vem antes o resultado é 2000 20001. Se eu coloco depois o resultado é somente 20002000. Se variáveis em PHP são dinâmicas então $num incrementada deveria aparece, independe da ordem. Não?

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Você está esquecendo da lógica da programação estruturada. As variáveis que você exemplificou mudam quando é solicitada a mudança de valores delas. A função que você está chamando testaEscopo() só é executada quando chamada, o que ocorre somente na linha: testaEscopo (); Nesse momento é impressa o valor da variável e em seguida é somado 1 ao valor dela.

Quando a função é definida, não ocorre a execução da função.

Por isso os resultados são diferentes quando você mostra o valor da variável antes e depois da função testaEscopo()

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,6k
×
×
  • Criar Novo...