PHP:在IF构造中设置变量?
我可以在if构造中设置变量吗?一般来说,在哪里可以设置变量PHP:在IF构造中设置变量?,php,variables,Php,Variables,我可以在if构造中设置变量吗?一般来说,在哪里可以设置变量 function set_login_session ( $passhash ) { $_SESSION['login']['logged_in'] = 1; if ( ERROR ) return false; } // Does it set the Session variable? if ( set_login_session ( $passhash ) === false) return false
function set_login_session ( $passhash )
{
$_SESSION['login']['logged_in'] = 1;
if ( ERROR ) return false;
}
// Does it set the Session variable?
if ( set_login_session ( $passhash ) === false)
return false;
是的,你可以,这是允许的。但问题是,如果if没有运行,而您错误地处理了这种情况,该怎么办 所以通常我会在函数的最宽范围内初始化我的大变量,而临时变量可以在某些东西中设置
但你应该意识到你的情况。您正在初始化一个全局变量。是的,您可以,而且是允许的。但问题是,如果if没有运行,而您错误地处理了这种情况,该怎么办 所以通常我会在函数的最宽范围内初始化我的大变量,而临时变量可以在某些东西中设置 但你应该意识到你的情况。您正在初始化一个全局变量。简短回答 对 长话短说 如果此脚本先前调用了start_session()(或设置了session.auto_start配置标志),则可以使用superglobal$\u会话数组在任何位置设置会话变量。Short answer 对 长话短说
如果此脚本先前调用了start\u session()(或设置了session.auto\u start配置标志),则可以使用superglobal$\u会话数组在任何位置设置会话变量。您尚未指定错误变量是什么。如果该值为true表示错误,则set_login_session实际上可以简化为
$_SESSION['login']['logged_in'] = 1;
return !ERROR;
外部代码是
return set_login_session( $passhash );
没有必要进行这种显式布尔值比较
是的,在函数中设置变量是完全有效的,但是要确保始终设置变量,无论采用何种代码路径,这样代码中就不会使用未初始化/未驻留的变量。否则,您就是在自找麻烦,或者至少是在脚本输出中发出了大量警告
如果已启动会话,则应存在$\u会话超全局。如果其中没有['login']['logged_in'],那没关系。您还没有指定错误变量是什么。如果该值为true表示错误,则set_login_session实际上可以简化为
$_SESSION['login']['logged_in'] = 1;
return !ERROR;
外部代码是
return set_login_session( $passhash );
没有必要进行这种显式布尔值比较
是的,在函数中设置变量是完全有效的,但是要确保始终设置变量,无论采用何种代码路径,这样代码中就不会使用未初始化/未驻留的变量。否则,您就是在自找麻烦,或者至少是在脚本输出中发出了大量警告
如果已启动会话,则应存在$\u会话超全局。如果其中没有['login']['logged_in'],那没关系。如果我将变量初始化为If函数的参数,会怎么样?我的意思是:if(initialise_var()==false)…如果我理解正确,它必须设置variabless,否则它无法计算if-statement。这部分“if没有运行,而您错误地处理了这种情况”。需要一些澄清,我前面问题的原因。如果条件语句没有运行。你期望以后的价值。那么这可能会导致问题。因为没有设置值。如果我将变量初始化为if函数的参数,会怎么样?我的意思是:if(initialise_var()==false)…如果我理解正确,它必须设置variabless,否则它无法计算if-statement。这部分“if没有运行,而您错误地处理了这种情况”。需要一些澄清,我前面问题的原因。如果条件语句没有运行。你期望以后的价值。那么这可能会导致问题。因为没有设置该值。