如何从 extract function() 中将数组插入 $_SESSION()?

How to insert array into $_SESSION() from extract function()?

我的 home.php 文件中有一个函数 get_teacher_info()。 它 returns 来自 mysql 查询的数组。 我将它存储在 $data 变量中。

现在我想将数组中的每个 'key'=>'value' 对设置为单独的变量。所以我正在使用 extract()

如何设置从 extract()

接收到的会话变量

下面是我的代码。

$data = $teacher->get_teacher_info();
$_SESSION[]= extract($data);

您可以像这样设置您的会话,但是 var 转储会提供更多信息


    $data = $teacher->get_teacher_info();
    if(is_array($data)) {
        foreach($data as $key => $value){
            $_SESSION[$key] = $value;
        }
    }

然后你可以创建一个全局函数来访问这样的值


    function getData($key){
        if(array_key_exists($key,$_SESSION)){
            return $_SESSION[$key];
        }
        return FALSE;
    }

你可以这样使用

$data = $teacher->get_teacher_info();

// if there is addtional data in the `$_SESSION` before assigning data extracted from DB you can use the `array_merge`, this will keep previous data from `$_SESSION`
$_SESSION = array_merge($_SESSION, $data);

// If there is no additional data then directly assign the data from DB to `$_SESSION` only if the `$data` is already an associative array
$_SESSION = $data;