[英]how to fix this notice error
我出乎意料; 这行错误:
$ action =($ sessionMinus == $ _SESSION ['initial_count'])? 'create_session2.php';
但是,如果我删除; 然后它表示意外{在下面的行中,如何解决这个问题?
以下完整代码:
if ($sessionMinus == $_SESSION['initial_count']){
$action = ($sessionMinus == $_SESSION['initial_count']) ? 'create_session2.php';
}else if($sessionMinus != $_SESSION['initial_count']){
$action = ($sessionMinus != $_SESSION['initial_count']) ? $_SERVER['PHP_SELF'];
}
你有一个简短的if语句: [condition] ? [if_true] : [if_false]
[condition] ? [if_true] : [if_false]
但是: [if_false]
部分丢失了
要使用三元运算符,您需要具有条件为TRUE和FALSE时的值:
$action = ($sessionMinus != $_SESSION['initial_count']) ? $_SERVER['PHP_SELF'] : "false";
我不确定你为什么要做两次检查,以下就足够了:
<?php
if ($sessionMinus == $_SESSION['initial_count']){
$action = 'create_session2.php';
}else($sessionMinus != $_SESSION['initial_count']){
$action = $_SERVER['PHP_SELF'];
}
如果条件不为真,则三元运算要求您添加备选项(而不是false):
$action = ($sessionMinus == $_SESSION['initial_count']) ? 'create_session2.php' : 'was_false';
Psuedo看起来像:
$variable = ($condition == true) ? true : false;
您可以在此处阅读有关比较运算符(和三元运算符)的更多信息。
你可能忘了别的命令
$action = ($sessionMinus == $_SESSION['initial_count']) ? 'create_session2.php':'';
所有代码都可以重写为:
$action = ($sessionMinus == $_SESSION['initial_count']) ? 'create_session2.php' : $_SERVER['PHP_SELF'];
玩得开心。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.