PHPDaemon\Traits\Sessions::unserializePHP PHP Method

unserializePHP() protected method

session_decode() - clone, which not require session_start()
See also: http://www.php.net/manual/en/function.session-decode.php#108037
protected unserializePHP ( string $session_data ) : array
$session_data string
return array
    protected function unserializePHP($session_data)
    {
        $return_data = array();
        $offset = 0;
        while ($offset < mb_orig_strlen($session_data)) {
            if (!strstr(substr($session_data, $offset), "|")) {
                return $return_data;
                //throw new \Exception("invalid session data, remaining: " . substr($session_data, $offset));
            }
            $pos = mb_orig_strpos($session_data, "|", $offset);
            $num = $pos - $offset;
            $varname = substr($session_data, $offset, $num);
            $offset += $num + 1;
            $data = unserialize(substr($session_data, $offset));
            $return_data[$varname] = $data;
            $offset += mb_orig_strlen(serialize($data));
        }
        return $return_data;
    }