<?php
$ape = 'gorrilla';
function test() {
// a local variable that happens to match a global one
$ape = 'chimp';
// assume some stuff happens here...
// at some point you want to ref the global ape
global $ape;
// assume more stuff happens here....
// send back ape (did I mean the local one or the global?)
return $ape;
}
echo test(); // gorrilla or chimp (protip: it's gorilla)
?>
A palavra-chave global é útil e cria nomes de variáveis limpos, mas mexe com o escopo da variável, portanto, pode configurar uma situação potencialmente imprevisível.
Este é um exemplo simples, mas em uma situação com um monte de variáveis globais nomeadas genericamente e funções longas, isso é algo que você pode realmente encontrar.