如何正确构建大型验证条件?
例如代码:
if ($test['status'] == 1) {
if ($test['id'] == 2) {
if ($test['user'] == 4) {
if ($test['auth'] == true) {
if ($test['map'] == 'russia') {
if ($test['name'] == 'john') {
$result = 1;
} else {
$result = 2;
}
} else {
$result = 2;
}
} else {
$result = 2;
}
} else {
$result = 2;
}
} else {
$result = 2;
}
} else {
$result = 0;
}
看起来不是很好,读起来不太好,如果条件多的话,代码就变成圣诞树了。
如何正确形成海量的测试条件,并为每个条件分配一定的结果,即避免OR条件?
您也可以使用真/假值或 0\1 索引来代替“真/假”字符串键,结果,数组看起来像
'name' => [2, 1, 'v' => 'jonh']
这样,但会不太清晰和直观。https://ideone.com/S2wqPb
制作一个对象或字典数组而不是二维数组是值得的,但我太懒了。
作为一种选择
第二种选择