$varが数値だと違いは出るけど。

$var = 123;
echo substr($var,0,1); #=> 1
echo $var[0]; #=> NULL