Palavra-chave global pode ser perigosa

<?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.