How can the "Accept-Language" header be utilized in PHP to determine the preferred language of a user visiting a website?

To determine the preferred language of a user visiting a website in PHP, you can utilize the "Accept-Language" header sent by the browser. This header contains a list of preferred languages in order of priority. By parsing this header, you can extract the user's preferred language and adjust the content of your website accordingly.

$preferredLanguages = $_SERVER['HTTP_ACCEPT_LANGUAGE'];

// Parse the header to extract the preferred language
$languages = [];
foreach (explode(',', $preferredLanguages) as $lang) {
    $parts = explode(';', $lang);
    $languages[$parts[0]] = isset($parts[1]) ? (float) str_replace('q=', '', $parts[1]) : 1.0;
}

// Sort the languages by priority
arsort($languages);

// Get the first language as the preferred language
$preferredLanguage = key($languages);

echo "Preferred language: " . $preferredLanguage;