0

我是 PHP 的新手。我有以下函数调用:

UpdateUserTestStatus($user_id, $user_test['test_user_test_id'], $user_test['test_user_start_time'], $user_test_time);

函数定义如下:

function UpdateUserTestStatus($user_id, $test_id, $user_test_start_time, $user_test_time, $test_pack_id) { 
        if($user_id!='' && $test_id!='') {
            $sql  = " UPDATE ".TBL_TESTS_USERS." SET test_user_status='present', ";
            $sql .= " test_user_start_time=".$user_test_start_time.", test_user_time_used=".$user_test_time;
            $sql .= " WHERE test_user_user_id='".$user_id."' AND test_user_test_id=".$test_id;
            $sql .= " AND test_pack_id='".$test_pack_id."' ";

            $this->mDb->Query($sql);

            return true;
        } else
            return false;
    }

所以我的问题是,这在具有不同编号的 PHP 中是否有效。函数调用中的参数并且具有不同的编号。函数定义中存在的参数?请在这个问题上指导我。提前致谢。

4

2 回答 2

1

如果定义中的参数少于调用中的参数,则将简单地忽略多余的参数。

如果调用中的参数少于定义中的参数,则会将缺少的参数设置为null并发出警告。

于 2013-01-04T05:59:09.523 回答
0

如果参数是可选的,则需要为其提供默认值。例如:

function full_name($firstname, $lastname, $middlenames = NULL) {
    $name = $firstname;
    if ($middlenames !== NULL) {
        $name .= ' '.$middlenames;
    }
    $name .= ' '.$lastname;
    return $name;
}
echo full_name('John', 'Doe'); // John Doe
echo full_name('John', 'Doe', 'Smith'); // John Smith Doe
echo full_name('John'); // Warning!

如果您不给可选参数默认值,那么当您不使用该参数时会收到警告。

于 2013-01-04T06:01:57.153 回答