首先明确两个点
1-&&"运算符的优先级高于"="运算符的优先级;
2-而“and”的优先级低于运算符“=”;
在表达式“$b = true && false”中,首先计算true && false,计算结果为false,然后把这个结果赋值给了$bool ;因此,$bool 的值为:false。
在表达式“$bool = true and false”中,首先是执行“$bool = true”,此时$bool的值为true;然后执行“$bool and false”。因为“and ”操作虽然在内部执行了但未分配,因此$ bool的值依然为true。
导致本该为False结果的and运算出错,造成漏洞。