Ну, есть техническая разница, но не в том, что вы думаете (подумайте: где это появляется в словаре): значение ASCII для строчных нулей появляется после прописных. Попробуйте:
$a = NULL;
$b = null;
if($a < $b){
print 'first num appears earlier in the dictionary than second num';
}
else {
print'the right num appears in the dictionary before the left num ';
}
** на самом деле нет значения ASCII для нулевого нижнего регистра, в то время как NULL в верхнем регистре равно 0. Нижний регистр будет оцениваться как строковое значение, которое будет больше 0. Разница между всеми значениями ASCII в верхнем и нижнем регистре равна 32 , за исключением случаев, когда рассматривается целое строковое значение.