Второе значение, передаваемое в функции - Что это?

Я пытался искать в других местах, но я не могу найти ответ. Я знаю, что функция может иметь более одного значения, передаваемого в нее, потому что сама функция приспосабливается к двум значениям. В этой функции прямо ниже, я вижу, что $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));

1 ответ

Решение

В этом случае $_POST ничего не делает, потому что он не используется внутри функции в качестве второго аргумента. Вы можете отправить более одного аргумента, но затем внутри функции вы должны увидеть его использование func_get_args() - Функция использует $_POST - но не как аргумент функции, а как глобальный объект веб-области php.

Другие вопросы по тегам