re:首页网站= http://mobiledetect.net/
re:这个脚本= Mobile_Detect.php
在此处下载脚本:https://github.com/serbanghita/Mobile-Detect
此脚本可以完美地检测用户设备的不同参数。
但是,这就是我目前检测这些参数的方式:
// each part of the IF statement is hard-coded = not the way to do this
if($detect->isiOS()){
$usingOS = 'iOS';
}
if($detect->isAndroidOS()){
$usingOS = 'Android';
}
echo 'Your OS is: '.$usingOS;
我的目标是使用FOREACH通过此脚本中的各种数组进行迭代,以确定用户设备的参数。我需要“($ detect-> isXXXXOS())”是动态的......(这将基于KEY)。结果将显示KEY。但检测将基于VALUE。
此外,由于我的网页使用REQUIRE来访问此脚本...在 Mobile_Script.php 脚本中,数组是“受保护的”。我认为这也引起了我的问题(但我不确定)。
感谢任何帮助。
答案 0 :(得分:2)
在foreach
循环中,您可以调用dynamic method
,如下所示:
$array = array('Android','Windows','Linux','Mac');
foreach( $array as $value) {
$method = "is{$value}OS";
if($detect->$method()) {
$os = $value;
echo "Your OS is : {$os}";
}
}
请重新安排您想要的代码。我举个例子。
答案 1 :(得分:1)
你可以尝试使用这样的东西:
$OSList = $detect->getOperatingSystems();// will give array of operating system name => match params
foreach($OSList as $os_name=>$os_params/*unused*/)
{
$method = 'is'.$os_name;
if($detect->$method())
{
$usingOS = $os_name;
}
}