$languages = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); foreach ($languages as $lang) { $language = explode(';', $lang)[0]; $language = str_replace('-', '_', $language); $available_languages = get_available_languages(); // function that retrieves available languages if (in_array($language, $available_languages)) { // set user's preferred language break; } }
$available_languages = get_available_languages_from_database(); // function that retrieves available languages from a database foreach ($available_languages as $language) { echo $language->code . ' - ' . $language->name; }This functionality is part of the PHP core and does not require any external package or library.