Search code examples
phparraysstringsubstringfiltering

Check if any value in an array exists within a haystack string


I have a string like abcdefg123hijklm. I also have an array which contains several strings like [456, 123, 789].

I want to check if the number in the middle of abcdefg123hijklm exists in the array.

How can I do that? I guess in_array() won't work.


Solution

  • So you want to check if any substring of that particular string (lets call it $searchstring) is in the array? If so you will need to iterate over the array and check for the substring:

    foreach($array as $string)
    {
      if(strpos($searchstring, $string) !== false) 
      {
        echo 'yes its in here';
        break;
      }
    }
    

    See: http://php.net/manual/en/function.strpos.php

    If you want to check if a particular part of the String is in the array you will need to use substr() to separate that part of the string and then use in_array() to find it.

    http://php.net/manual/en/function.substr.php