检查数组值是否包含浏览器国家代码

Check if array value contains browser country code

如果德语是其中一种浏览器语言,我正在尝试向我的登录页面的德语版本显示 link,但我遇到的问题是数组是 return在一个值中使用所有语言。如何检查该值是否包含某些字母?这是我正在使用的代码和我看到的 return:

$langarray = array(substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,100));
if(in_array('de', $langarray)){
    $showdelink = '<a style="color: #004f5d;" href="/de/">View the DE homepage</a>';
}

我收到以下 returned:

Array ( [0] => en-US,en;q=0.9,de;q=0.8 )

所以我遇到的问题是该值不是特定的“de”,而是包含“de”,因此 link 没有显示。如何检查“de”是否在 returned 值内。谢谢

你可以使用 strpos,因为

if(strpos($langarray[0], "de") !== false) {
    $showdelink = '<a style="color: #004f5d;" href="/de/">View the DE homepage</a>';
}