08.03.2018 12:59:47 am
Есть функция get_data_user, она должна вернуть две переменные и я пытаюсь её этому научить так:
И так пробовал:
Не работает! Как две переменных вернуть?
public function get_data_user() {
// ...
return $data, $user;
}
И так пробовал:
public function get_data_user() {
// ...
return $data;
return $user;
}
Не работает! Как две переменных вернуть?
- Жалоба
08.03.2018 05:59:14 am
return может вернуть только одну переменную, при этом после возвращения, сценарий функции не продолжает выполняться. То есть в вашем втором примере retuer вернул одну переменную, та, что идет первой.
Выход из ситуации может быть соединение двух переменных в одну, например, если это строки, то "склеиваем" их используя разделитель, получив переменную, разбиваем на две строки, так же используя разделитель. Пример использования разделителя
Или так:
Получив переменную, разбиваем строку на подстроки:
Готово. Теперь у вас две переменные
Еще один вариант: возвращать массив:
Или так:
Принять можно так, например:
Выход из ситуации может быть соединение двух переменных в одну, например, если это строки, то "склеиваем" их используя разделитель, получив переменную, разбиваем на две строки, так же используя разделитель. Пример использования разделителя
|
: $value = $data . '|' . $user;
return $value;
Или так:
return $data . '|' . $user;
Получив переменную, разбиваем строку на подстроки:
list($data, $user) = explode('|', $value);
Готово. Теперь у вас две переменные
$data
и $user
.Еще один вариант: возвращать массив:
$array = array($data, $user);
return $array;
Или так:
return array($data, $user);
Принять можно так, например:
list($data, $user) = $obj->get_data_user();