Функция PHP не возвращает переменную

#php #function

Вопрос:

Извините, я новичок и застрял в этом 🙁 Почему эта функция php не работает? Моя переменная $code пуста. Если я добавлю «ЕСЛИ» к своему main.php код работает идеально.

Мой functions.php:

 function location_zone($location) {
    if ($location=='TEXT1' ) {
        $code='10101';
    }
    if ($location=='TEXT2' ) {
        $code='10201';
    }
    if ($location=='TEXT3' ) {
        $code='10301';
    }
}
 

Мой main.php:

     require 'functions.php';
    $location=$_POST['location'];
    $code = location_zone($location);
 

Спасибо 🙂

Комментарии:

1. Добавьте это в конец функции: return $code;

2. Я закрываю вопрос как невоспроизводимый или вызванный ОПЕЧАТКОЙ, так как в функции отсутствует оператор return: return $code;

Ответ №1:

Вам нужно вернуть значение в конце функции следующим образом

 function location_zone($location) {
    if ($location=='TEXT1' ) {
        $code='10101';
    }
    if ($location=='TEXT2' ) {
        $code='10201';
    }
    if ($location=='TEXT3' ) {
        $code='10301';
    }
    return $code;
}
 

Комментарии:

1. О… Я сделал это, но по-прежнему ничего в переменной $code…. Я использую xampp

2. это связано с тем, что в вашей функции нет регистра по умолчанию. например, если нет условия «если», то что тогда ?

3. Объявите $code внешние операторы if и используйте if else if else вместо этого и.

Ответ №2:

 function location_zone($location) {
    print_r($location);
    if ($location=='TEXT1') {
        $code='10101';
    }
    if ($location=='TEXT2') {
        $code='10201';
    }
    if ($location=='TEXT3') {
        $code='10301';
    }
    echo "<pre>";
    print_r($code);
    echo "</pre>;
    exit();
}
 

Что выводится на экран, когда вы пытаетесь это сделать?

Комментарии:

1. Спасибо за вашу помощь… я изменил if на elseif, и теперь он работает 😉