tags:

views:

20

answers:

1

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?

+2  A: 

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!";
}
halfdan
+1 for recommending to grab the extension first, and then just use `in_array()`.
konforce
if(file_exists($sIconPath)){
whatshakin
@dan Thanks for the ideas. I passed the image path to the function instead of just the name, than handled it with file_exists. Works great.
whatshakin