【发布时间】:2019-08-16 01:42:36
【问题描述】:
我有一个读取用户浏览器代理的文件,如果它与浏览器名称和版本匹配,它会输出一个 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 语句,但可以使用新的变量集。这可以用某种数组或类似的东西来完成吗?
它需要基本上查找并匹配浏览器名称,然后一旦匹配,检查版本,如果用户浏览器匹配变量中的版本以显示“浏览器最新”,否则显示“浏览器已过期”。
谢谢
【问题讨论】:
-
为什么
$android_browser="Android";会与$chrome_browser="Chrome";同时设置?您应该只处理其中一个或另一个,所以只需$browser就足够了。 -
@MonkeyZeus 感谢您的建议,知道我如何才能使该声明与我需要和已经拥有的部件一起使用吗?