今天遇到两个关于0的问题。一个是

$handle=opendir($dir);

while($fn=readdir($handle)){//do sth}

另外一个是

if($cat!=0){//do sth}

弱类型就是弱。第一个问题中,我的文件夹下有一个名称是0的文件,表示文件夹的索引文件,所以碰到文件0以后就返回了,因为0被转化成false,一比较,玩蛋了。

第二个问题是string和int的比较:string先会被转换成int,然后比较。String转化int,就像js中那样,能转化多少转多少,比如intval(123string)就是123.如果不以数字开头就是0啊。所以第二个问题中基本上都是true。