>自分の理解では、ユーザー定義関数の中にある$aがローカル変数で、その外にある$aがグローバル関数と思っていましたが、どうやら違うようですね。

・ユーザ定義関数の中にある$aはローカル変数
・ユーザ定義関数の外にあるグローバル領域にある$aはグローバル変数

<?php
$a = "GLOBAL";
function hoge() {
$a = "LOCAL";
}