-2

我试过浏览其他地方,但似乎找不到答案。我知道一个函数可以有多个值传递给它,因为函数本身可以容纳这两个值。在下面的这个函数中,我可以看到$required_fields它将被传递到出现“”的每个场合$field_length_array,但是这$_POST对我有什么用呢?

非常感谢熊兄弟。

function check_max_field_lengths($field_length_array) {
$field_errors = array();
foreach($field_length_array as $fieldname => $maxlength ) {
    if (strlen(trim(mysql_prep($_POST[$fieldname]))) > $maxlength) { $field_errors[] = $fieldname; }
}
return $field_errors;
}


function check_max_field_lengths($field_length_array) {
$field_errors = array();
foreach($field_length_array as $fieldname => $maxlength ) {
    if (strlen(trim(mysql_prep($_POST[$fieldname]))) > $maxlength) { $field_errors[] = $fieldname; }
}
return $field_errors;
}



$required_fields = array('username', 'password');
$errors= array_merge($errors, check_required_fields($required_fields, $_POST));

$fields_with_lengths = array('username' => 30, 'password' => 30);
$errors = array_merge($errors, check_max_field_lengths($fields_with_lengths, $_POST));
4

1 回答 1

1

在这种情况下, $_POST 什么都不做,因为它在函数内部没有用作第二个参数。您可以发送多个参数,但是在函数内部您应该会看到它的用法func_get_args()- 该函数确实使用了 $_POST - 但不是作为函数参数,而是作为 php web 范围的全局对象。

于 2013-04-19T18:21:21.860 回答