我是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中有不同的用途吗?函数调用中的参数和具有不同的no。函数定义中存在的参数?请指导我这个问题。提前致谢。
答案 0 :(得分:1)
如果定义中的参数少于中的参数,那么多余的参数将被忽略。
如果调用中的参数少于定义中的参数,则缺少的参数将设置为null
并发出警告。
答案 1 :(得分: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!
如果您不提供可选参数默认值,那么当您不使用该参数时,您将收到警告。