我在这里有一个功能:
function loginForm($post){
$username = c($post['username']);
$password = md5(c($post['password']));
if($this->login($username,$password))
$this->setCookies($post);
}
正如您所看到的,用户名和密码是从一个名为的函数返回的
c()
(只是$mysqli->real_escape_string()
)。
现在,正如您在密码字段中看到的,有两个功能。
$password = md5(c($post['password']));
我的问题是,c()
函数会先运行,还是md5
函数先运行?我几乎可以肯定c()
函数是先运行的,但我不确定。
答案 0 :(得分:6)
c
首先运行。
因为您可以将其重写为:
$temp = c($post['password']);
$password = md5($temp);
您无法重写它,以便首先调用md5
。
答案 1 :(得分:4)
c函数将首先运行。
答案 2 :(得分:3)
$password = md5(c($post['password']));
相当于
$password_c = c($post['password']);
$password = md5($password_c);
所以c
将首先运行。
答案 3 :(得分:2)
首先运行c()
函数。如果函数在另一个函数内部,则外部函数(在本例中为md5()
)将首先推送到stack。然后内部函数(c()
)将执行。然后,c()
的结果用作外部函数(md5()
)的输入,该函数从stack弹出并执行。
答案 4 :(得分:1)
c()
将首先执行,然后md5()
。