У меня небольшой пробел в понимании того, как функции и массивы работают вместе
У меня есть эта функция, которая получает информацию для входа из формы с именем submitlogin, затем выполняет простой запрос и извлекает массив, если, но только если значения не пусты и возвращает ошибки, если они есть (усеченная эта часть)
function check_login($dbc, $email = '', $pass = '') {
$q = "SELECT user_id, user_type, first_name, time_zone FROM users WHERE email='$e' AND pass=SHA1('$p')";
Затем на самой странице входа в систему я вызываю функцию с указанными значениями
if (isset($_POST['submittedlogin'])) {
require_once ('includes/login_functions.inc.php');
require_once ('../mysqli_connect.php');
list ($check, $data) = check_login($dbc, $_POST['email'], $_POST['pass']);
if ($check) { // OK!
// Set the session data:.
session_start();
$_SESSION['user_id'] = $data['user_id'];
$_SESSION['first_name'] = $data['first_name'];
// Get priviledges
$_SESSION['user_type'] = $data['user_type'];
// Store the HTTP_USER_AGENT:
$_SESSION['agent'] = md5($_SERVER['HTTP_USER_AGENT']);
//
Обратите внимание, что $_SESSION['user_type'] = $data['user_type'];
возвращает правильное значение.
Мой вопрос: как здесь работает синтаксис? :
list ($check, $data) = check_login($dbc, $_POST['email'], $_POST['pass']);
Возможно, лучше сформулировать, как определяются переменные $ check и $ data ?? Ли:
$ check = check_login ($ dbc) и
$ data = $ q ??
Разъяснение будет высоко ценится.