如何解决此通知错误

时间:2012-03-29 23:29:18

标签: php

我出乎意料;这一行出错:

$ 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'];

}

5 个答案:

答案 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'];

玩得开心。

相关问题