在字符串中搜索数组中的任何一个项目

时间:2010-10-01 17:19:39

标签: php arrays search

这是我的搜索数组:

$aExt = array('png','jpg','gif');

我想搜索变量:

$sIcon

如何使用PHP搜索变量是否包含此数组中的任何内容?

就像倒入in_array:

strstr($sIcon, $aExt)< - 第二个arg是一个数组吗?

1 个答案:

答案 0 :(得分:2)

您可以使用foreach迭代数组中的元素,然后使用strpos查看键是否在变量的内容中:

foreach($aExt as $key) {
  if(strpos($sIcon, $key) !== false) {
    echo sprintf("%s is in the variable", $key);
  }
}

查看变量的名称我认为您正在尝试找出文件名的扩展名。您可以使用以下方法轻松找到文件的扩展名:

$ext = pathinfo($filename, PATHINFO_EXTENSION);

在你的情况下:

$ext = pathinfo($sIcon, PATHINFO_EXTENSION);
if(in_array($ext, $aExt)) {
  echo "Valid icon!";
}