Php 检查switch语句是否为true
我想检查我的switch语句是否正确,如果正确,我想用它做些什么。e、 gPhp 检查switch语句是否为true,php,switch-statement,Php,Switch Statement,我想检查我的switch语句是否正确,如果正确,我想用它做些什么。e、 g $a = trim($_POST['code']); switch ($a) { case "123"; break; case "467"; break; default : "incorrect"; } 然后我想做一个这样的if语句 if(switch == true) { $a = trim($_POST['code']); } e
$a = trim($_POST['code']);
switch ($a) {
case "123";
break;
case "467";
break;
default : "incorrect";
}
然后我想做一个这样的if语句
if(switch == true) {
$a = trim($_POST['code']);
}
else {
$Error ="incorrect code";
$hasError = true;
}
如果(开关==true)不正确。如何检查switch语句是否为真
谢谢您的时间。案例关键字以
结尾:
(冒号)而不是代码>
(分号)我会选择完全相反的方向并使用:
有关的更多信息
但你应该使用:
$switch_true = in_array($a, array(123, 267));
Switch
并非真正用于此类用途。Switch语句不是表达式,因此不能为“true”。您只能使用switch语句来处理副作用,例如分配变量
例如(修复语法错误)
尽管在实践中,我很少编写这样的代码——只需在开关中执行操作或直接使用if语句;使用一个函数,可能包含switch语句来编写更干净的代码
function isValid($secretCode) {
switch ($secretCode) {
case "123":
case "467":
return true;
default:
return false;
}
}
if (isValid($a)) {
# ..
}
您的代码应该如下所示:
$a = trim($_POST['code']);
switch ($a) {
case "123":
break;
case "467":
break;
default : "incorrect";
}
替换:(冒号)为;(分号)。@ShankarDamodaran我猜是因为,虽然您认为语法不正确是正确的,但这并不能解决所问的整个问题。@ShankarDamodaran请看这里,我仍在使用
但是谢谢你的提醒为什么你不问问OP?或者其他答案都是相似的?唯一真实的答案!!有很多答案和编辑,但我仍然无法真正收集到你想要做的事情。你到底想测试什么?如果设置了$\u POST['code']
?或者如果其中一个案例'xy':
条件匹配?在您的回答中,我认为应该是默认值:$switch\u true=false@RaviRokkam+1。我还没有醒来只是想知道变量$secretCode
是从哪里来的,还是它的意思是$a
?@user3057514$a是函数外部的变量(例如$a=trim($\u POST['code'])
,$secretCode是函数中的参数,最初具有作为参数提供的相同值$a(例如isValid($a)
)。我更改了参数名称,以使作用域/变量之间的差异更加明显,但您可以将其称为其他名称(包括$a)。非常感谢,我没有这样看待它,而且在您的函数中,我没有看到任何情况。当找到正确的案例代码时,开关将如何停止?我被教导要永远break@user3057514由于return
将立即退出函数(从而切换语句),因此没有理由还包括break
@user2864740:因为不需要中断,也不需要使用default
情况,只需以return false结束函数即可代码>。您可能一直在寻找的另一个函数被调用,它还返回TRUE
/FALSE
,有效值可以作为数组传递。
$switch_true = in_array($a, array(123, 267));
$valid = false; # default to false
switch ($a) {
case "123":
case "467":
$valid = true; # yay, "valid!"
break;
default:
break;
}
if ($valid === true) {
# ..
}
function isValid($secretCode) {
switch ($secretCode) {
case "123":
case "467":
return true;
default:
return false;
}
}
if (isValid($a)) {
# ..
}
$a = trim($_POST['code']);
switch ($a) {
case "123":
break;
case "467":
break;
default : "incorrect";
}