ホームページ >バックエンド開発 >PHPチュートリアル >文字列に配列の要素が含まれているかどうかを確認する方法 (大文字と小文字は区別されません)?

文字列に配列の要素が含まれているかどうかを確認する方法 (大文字と小文字は区別されません)?

DDD
DDDオリジナル
2024-11-12 10:49:02368ブラウズ

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

配列内に文字列が含まれているかどうかを確認する (大文字と小文字は区別されません)

質問:

大文字と小文字の違いに関係なく、文字列に配列内の要素が含まれているかどうかを確認するにはどうすればよいですか?

コード例:

$string = 'My nAmE is Tom.';
$array = array("name", "tom");
if (contains($string, $array)) {
    // Perform an action indicating that the string contains an element from the array
}

解決策:

この目的のために特別に設計された組み込み関数はありません。ただし、カスタム contains() 関数は次のように作成できます。

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

説明:

contains() 関数は、$arr 内の各要素を反復処理します。配列。各要素について、大文字と小文字を区別しないことを考慮して、stripos() を使用して $str 文字列内に要素が存在するかどうかを確認します。文字列内に要素が見つかった場合、関数は true を返します。それ以外の場合は、文字列内に配列要素が見つからなかったことを示す false を返します。

以上が文字列に配列の要素が含まれているかどうかを確認する方法 (大文字と小文字は区別されません)?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。