What are the best practices for accessing and manipulating data from superglobal arrays like $_GET in PHP?

When accessing and manipulating data from superglobal arrays like $_GET in PHP, it is important to validate and sanitize the input to prevent security vulnerabilities such as SQL injection or cross-site scripting attacks. Best practices include using functions like filter_input() or filter_var() to sanitize input, checking for expected data types, and using prepared statements when interacting with a database.

// Example of accessing and sanitizing data from the $_GET superglobal array
$user_id = filter_input(INPUT_GET, 'user_id', FILTER_SANITIZE_NUMBER_INT);

if (is_numeric($user_id)) {
    // Proceed with using the sanitized user_id
    echo "User ID: " . $user_id;
} else {
    // Handle invalid input
    echo "Invalid user ID";
}