我出乎意料;这一行出错:
$ 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'];
}
答案 0 :(得分:1)
你有一个简短的if语句:[condition] ? [if_true] : [if_false]
但缺少: [if_false]
部分
答案 1 :(得分:1)
要使用三元运算符,您需要具有条件为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'];
}
答案 2 :(得分:0)
三元操作要求在条件不为真时添加备选(而不是假):
$action = ($sessionMinus == $_SESSION['initial_count']) ? 'create_session2.php' : 'was_false';
Psuedo看起来像:
$variable = ($condition == true) ? true : false;
您可以阅读有关比较运算符(和三元)here的更多信息。
答案 3 :(得分:0)
您可能忘记了其他命令
$action = ($sessionMinus == $_SESSION['initial_count']) ? 'create_session2.php':'';
答案 4 :(得分:0)
所有代码都可以重写为:
$action = ($sessionMinus == $_SESSION['initial_count']) ? 'create_session2.php' : $_SERVER['PHP_SELF'];
玩得开心。