$useragent = $_SERVER['HTTP_USER_AGENT'];
$device_array = array("iPhone" , "iPad", "Android");
我想做的是编写一个简单的 if 语句,查看字符串$device_array
中是否存在任何值,$useragent
但不确定如何构造它。
有没有一种方法可以在不迭代数组值的情况下理想地做到这一点?
$useragent = $_SERVER['HTTP_USER_AGENT'];
$device_array = array("iPhone" , "iPad", "Android");
我想做的是编写一个简单的 if 语句,查看字符串$device_array
中是否存在任何值,$useragent
但不确定如何构造它。
有没有一种方法可以在不迭代数组值的情况下理想地做到这一点?
很简单,使用in_array()
:
if( in_array( $useragent, $device_array)) {
echo $useragent . ' is in the array!';
}
编辑:对于通配符匹配,您可以使用正则表达式:
$device_array = array("iPhone" , "iPad", "Android");
$regex = '#' . implode( '|', $device_array) . '#i'; // Note: Escaping the elements in the array with preg_quote() has been omitted
if( preg_match( $regex, $useragent)) {
echo $useragent . ' was matched in the array!';
}