Home >Backend Development >PHP Tutorial >How to Check if a String Contains Any Keyword from an Array (Case-Insensitive)?

How to Check if a String Contains Any Keyword from an Array (Case-Insensitive)?

DDD
DDDOriginal
2024-11-14 10:11:01399browse

How to Check if a String Contains Any Keyword from an Array (Case-Insensitive)?

Determining String Inclusion from an Array (Case-Insensitive)

In programming, you may encounter situations where you need to verify if a given string contains any matches from an array of items. Specifically, you want to check for case-insensitive matches.

The Requirement:

Suppose you have a string variable ($string) and an array ($array) containing specific keywords. You want to create a function called "contains()" to determine if $string contains any of the keywords in $array, regardless of case.

The Solution:

Native programming languages often do not provide a built-in function to handle this scenario. Therefore, we recommend implementing a custom "contains()" function:

function contains($str, array $arr)
{
    foreach($arr as $a) {
        if (stripos($str,$a) !== false) return true;
    }
    return false;
}

Explanation:

The "contains()" function takes a string ($str) and an array $arr as input. It iterates through each item in $arr using a foreach loop. For each item $a, it uses the stripos() function to check if it exists within $str, ignoring case differences. If any of the array items are present in $str, the function returns true. Otherwise, it returns false.

The above is the detailed content of How to Check if a String Contains Any Keyword from an Array (Case-Insensitive)?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn