myagkikh_evgeniy
@myagkikh_evgeniy

Ошибка Parse error: syntax error, unexpected 'use' (T_USE). Как исправить?

Всем привет! Прошу помощи. Код ниже выдаёт ошибку:

Parse error: syntax error, unexpected 'use' (T_USE), expecting '{' in D:\projects\practice\trunk\www\validate-form\php\form-validator.php on line 10


Что я делаю не так, подключая $errors?

Заранее спасибо!

<?

$errors = [];

$result = [
    "success" => "true",
    "error" => []
];

function checkValue($arrPostKey, $value) use ($errors) {
    if (!empty($value)) {
        if (checkLengthMax($arrPostKey, 100)) {
            $message = "Превышена максимальное количество знаков в поле" . $arrPostKey . + ". Допустимый диапазон от 2 до 100 знаков.";
            $errors[$arrPostKey] = $message;
        } else {
            if (checkLengthMin($arrPostKey, 2)) {
                $message = "Не набрано минимальное количество знаков в поле" . $arrPostKey . + ". Допустимый диапазон от 2 до 100 знаков.";
                $errors[$arrPostKey] = $message;
            };
        }
    } else {
        $message = "Поле пустое. Пожалуйства, введите данные.";
        $errors[$arrPostKey] = $message;
    }
};

foreach ($_POST as $key => $value) {
    $value = clean($value);
    checkValue($key, $value);
};
unset($value);

function clean($value = "") {
    $value = trim($value);
    $value = stripslashes($value);
    $value = strip_tags($value);
    $value = htmlspecialchars($value);

    return $value;
}

function checkLengthMin($value = "", $min) {
    $result = (mb_strlen($value) < $min);
    return $result;
}

function checkLengthMax($value = "", $max) {
    $result = (mb_strlen($value) > $max);
    return $result;
}

echo json_encode($errors);
  • Вопрос задан
  • 4631 просмотр
Решения вопроса 1
0xD34F
@0xD34F
Делайте так:

$checkValue = function($arrPostKey, $value) use(&$errors) {

Или так:

function checkValue($arrPostKey, $value, &$errors) {

Или так:

function checkValue($arrPostKey, $value) {
  global $errors;
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
use только для анонимных функций.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы