あ、もしかしてグローバルスコープの変数は名前空間の影響を受けなくて
だから、subでOKとした後にNGで上書きしてるのかなとも思ったのですが
(とは言え衝突を回避するのが名前空間の機能な訳で、グローバル変数は適用されないなんて書いてませんでしたが…)

main.php
<?php
include("./sub.php");
// $t="NG";//←ここを削除
sub\check();

sub.php
<?php
namespace sub;
$t="OK";
function check(){
global $t;
print $t;//←ここでOKと出したい
}
$t="NG";を消して、sub名前空間でグローバル変数$tを定義したのですが
やはりcheck();でsub名前空間のグローバル変数$tを取る事が出来ません。
nullになってしまいます。
sub名前空間のグローバル変数を、sub名前空間の関数から取るにはどうしたらよいのでしょうか。