Изменить validate_username($username);
на $errors = validate_username($username);
Ваша функция влияет на локальную переменную с именем errors
, а не на глобальную errors
, которую вы могли ожидать.
Далее, ваш код можно немного очистить следующим образом
$username = "l";
$errors = validate_username($username);
// No errors
if ( empty($errors) ) {
echo "nothing wrong here, inserting...";
}
// Errors are present
else {
foreach ( $errors as $cur_error ) {
$errors[] = '<li class="warn"><span>'.$cur_error.'</span></li>';
}
}
function validate_username($username) {
$errors = array();
$len = strlen($username);
if ( $len < 2 ) {
$errors[] = "Username too short";
} elseif ( $len > 25 ) {
$errors[] = "Username too long";
}
return $errors;
}