What is the best practice for storing user data in sessions in PHP?

When storing user data in sessions in PHP, it is best practice to sanitize and validate the data before storing it to prevent any security vulnerabilities. It is also important to avoid storing sensitive information in sessions and to periodically regenerate session IDs to prevent session fixation attacks.

// Start the session
session_start();

// Sanitize and validate user data
$userData = [
    'username' => filter_var($_POST['username'], FILTER_SANITIZE_STRING),
    'email' => filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)
];

// Store the sanitized user data in session variables
$_SESSION['userData'] = $userData;