【发布时间】:2013-12-06 20:33:42
【问题描述】:
我今天遇到了一个问题,(我设法解决了)。但是,我不明白为什么会这样。
我有这样的开关条件:
switch( $message['approval_status'] ){
case self::APPROVED:
$state['approved'] = true;
break;
// other irrelevant conditions
default:
break;
}
在哪里
const APPROVED = 2
我传入了2个变量,
如果我要使用这个功能两次,一次用
$message['approval_status'] = 1 和另一个与
$message['approval_status'] = true
上面的switch语句按预期传递了整数,也就是进入默认条件。然而,具有$message['approval_status'] = true 的变量被case self::APPROVED: 捕获,即使self::APPROVED = 2
为什么会这样?
【问题讨论】:
标签: php switch-statement