tmartin314
tmartin314

Reputation: 4171

Search through a string for any one of the items in an Array

Here's my search array:

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

I want to search through the variable:

$sIcon

How can I search if the variable includes anything in this array using PHP?

It's like in inverted in_array:

strstr($sIcon, $aExt) <- Can second arg be an array?

Upvotes: 1

Views: 121

Answers (1)

halfdan
halfdan

Reputation: 34214

You can use foreach to iterate over the elements in the array and then use strpos to see if the key is in the content of the variable:

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

Looking at the names of your variables I think you're trying to figure out the extension of a file name. You can easily find out the extension of a file using the following:

$ext = pathinfo($filename, PATHINFO_EXTENSION);

In your case:

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

Upvotes: 2

Related Questions