Home > Article > Backend Development > 问一个 function 中 if 语句的问题,本人菜鸟一个
如有类似函数,不完整,只是做个举例
function p_abc($a='',$b='',$c=''){
$a= xxx
if ($b='255'){
$a=xxx+1
}
$c=yyy
}
当 $b='255' ,函数能正常运行,当$b 不等于 255的时候, 貌似 $c=yyy 不能执行(我不确定)。导致程序出错。
为什么呢?本人菜鸟一个,好心人告诉一下。
一个 = 是赋值
两个 = 是比较
你 if ($b='255'){ 就是让 $b 为 255,表达式永远成立
应写作 if ($b =='255'){
if ($b='255')
你的这个下发语法上没有问题,但是这个一定为真,这个是赋值
php中判断是否相等使用 == 和 ===
例子 名称 结果
$a == $b 等于 TRUE,如果类型转换后 $a 等于 $b。
$a === $b 全等 TRUE,如果 $a 等于 $b,并且它们的类型也相同。
$a != $b 不等 TRUE,如果类型转换后 $a 不等于 $b。
$a $b 不等 TRUE,如果类型转换后 $a 不等于 $b。
$a !== $b 不全等 TRUE,如果 $a 不等于 $b,或者它们的类型不同。
$a $a > $b 大于 TRUE,如果 $a 严格大于 $b。
$a $a >= $b 大于等于 TRUE,如果 $a 大于或者等于 $b。
参考:http://www.php.net/manual/zh/language.operators.comparison.php