0
$useragent = $_SERVER['HTTP_USER_AGENT']; 

$device_array = array("iPhone" , "iPad", "Android");

我想做的是编写一个简单的 if 语句,查看字符串$device_array中是否存在任何值,$useragent但不确定如何构造它。

有没有一种方法可以在不迭代数组值的情况下理想地做到这一点?

4

1 回答 1

3

很简单,使用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!';
}
于 2013-05-02T21:32:31.810 回答