我有一个读取用户浏览器代理的文件,如果它与浏览器名称和版本匹配,则会输出一个if语句。
$firefoxv = "66.0";
$chromev = "73.0";
if ($browser1['browser'] == "Firefox") {
if ($browser1['version'] !== $firefoxv) {
echo '<p style="margin-top: 20px;"><b class="label label-danger"><i class="fa fa-exclamation"></i> Your Browser is Out of Date</b></p>Current Version: <b class="label label-success">'.$firefoxv.'</b> - Your Version: <b class="label label-danger">'.$browser1['version'].'</b>';
} else {
echo '<p style="margin-top: 20px;"><b class="label label-success"><i class="fa fa-check"></i> Your Browser is Up to Date</b></p>';
}
}
if ($browser1['browser'] == "Chrome") {
if ($browser1['version'] !== $chromev) {
echo '<p style="margin-top: 20px;"><b class="label label-danger"><i class="fa fa-exclamation"></i> Your Browser is Out of Date</b></p>Current Version: <b class="label label-success">'.$chromev.'</b> - Your Version: <b class="label label-danger">'.$browser1['version'].'</b>';
} else {
echo '<p style="margin-top: 20px;"><b class="label label-success"><i class="fa fa-check"></i> Your Browser is Up to Date</b></p>';
}
}
现在,我要在此列表中添加更多内容,并且希望能够在1条语句中包含所有这些内容,因此我不会一遍又一遍地复制相同的代码。 我的新变量将像这样列出:
$android_browser="Android";
$android_ver="5.1";
$android_webView_browser="Android WebView";
$android_webView_ver="33.0";
$chrome_browser="Chrome";
$chrome_ver="73.0";
$chromium_browser="Chromium";
$chromium_ver="73.0";
我希望它具有与上述相同的if语句,但可以使用新的变量集。可以用某种数组或类似的东西来做到吗?
它基本上需要查找并匹配浏览器名称,然后在匹配时检查版本,如果用户浏览器与变量中的版本匹配,则显示“浏览器最新”,否则显示“浏览器过期”。
谢谢
答案 0 :(得分:0)
我将创建一个数组,您可以在其中使用调用的$browser1['browser']
的值直接访问浏览器版本信息。
例如:
$versions = Array(
"Firefox" => "66.0",
"Chrome" => "73.0",
...
);
这样,您可以通过引用$versions[$browser1['browser']]
的值来快速获取最新版本的浏览器
为此,您可以检查未知浏览器类型的值是否为NULL。
从那里开始,检查任何浏览器/版本情况所需要做的只是一个语句:
if ($browser1['version'] < $version[$browser1['browser']]){
echo "<p style=\"margin-top: 20px;\"><b class=\"label label-danger\"><i class=\"fa fa-exclamation\"></i> Your Browser is Out of Date</b></p>Current Version: <b class=\"label label-success\">{$version[$browser1['browser']]}</b> - Your Version: <b class=\"label label-danger\">{$browser1['version']}</b>";
}
else {
echo "<p style=\"margin-top: 20px;\"><b class=\"label label-success\"><i class=\"fa fa-check\"></i> Your Browser is Up to Date</b></p>";
}
要添加新的浏览器或版本,您要做的就是更新Array。要确保从$ versions返回实际值,您还需要做更多的事情,但这足以使您入门而不必重复任何语句。