What PHP functions should be used for data validation and sanitization based on the intended use of the input data?

When dealing with input data, it is crucial to validate and sanitize it to prevent security vulnerabilities such as SQL injection or cross-site scripting attacks. For data validation, functions like filter_var() and ctype_digit() can be used to ensure that the input matches the expected format. For data sanitization, functions like htmlspecialchars() and mysqli_real_escape_string() can be used to escape special characters and prevent them from being interpreted as code.

// Data validation example using filter_var()
$email = "john.doe@example.com";
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "Email is valid";
} else {
    echo "Email is not valid";
}

// Data sanitization example using htmlspecialchars()
$input = "<script>alert('XSS attack');</script>";
$sanitized_input = htmlspecialchars($input);
echo $sanitized_input;