2.
@蛤,$a=7的意思是给a赋值为7,返回布尔值为1,可以理解为:语法无错,赋值成功
4.
@蛤,其实这仅仅是运算符优先级的问题,赋值运算符的优先级要小于逻辑运算符。所以if( )里的表达式需要从右往左看。
首先$c=10;【所以$c是整形,且值为10】
然后$b=(7&&10),这样就把$b变成了bool类型的了,值为true。
接着$a=(0||true),显然$a就也变成了bool类型的,值也为true。
最后if(true),运行if里面的语句。不过似乎bool类型的再怎么自增,值都不变。
所以就出现了你那种输出。