哪个会首先执行(PHP)?

时间:2013-06-11 16:46:53

标签: php

我在这里有一个功能:

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()函数是先运行的,但我不确定。

5 个答案:

答案 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()