PHP str_contains() Function

Quick summary: The PHP str_contains() function checks if a string contains a given substring.

PHP str_contains() Syntax

str_contains(string $haystack, string $needle): bool
PHP

PHP str_contains() Basic examples

var_dump(str_contains("Hello world", "world"));
PHP
Output:
bool(true)

Returns true when the substring exists.

var_dump(str_contains("Hello world", "PHP"));
PHP
Output:
bool(false)

Returns false when the substring is not found.

PHP str_contains() Real-world usage

$email = "user@example.com";
if (str_contains($email, "@")) {
    echo "Valid email";
}
PHP
Output:
Valid email

Checks for required characters.

PHP str_contains() Edge cases

var_dump(str_contains("test", ""));
PHP
Output:
bool(true)

An empty substring is always considered found.

PHP str_contains() Common mistakes

Using strpos instead of str_contains

strpos requires strict comparison.

Incorrect
if (strpos("abc", "a")) { }
Correct
if (str_contains("abc", "a")) { }

str_contains returns a boolean directly.

PHP str_contains() Frequently Asked Questions

What does str_contains() do in PHP?

str_contains() checks if a string contains a given substring and returns true or false.

Is str_contains() case-sensitive?

Yes, str_contains() is case-sensitive.

What does str_contains() return?

str_contains() returns true if the substring exists, otherwise false.

What is the difference between str_contains() and strpos()?

str_contains() returns a boolean, while strpos() returns the position or false.

Can str_contains() return 0?

No, str_contains() always returns a boolean value.

Is str_contains() available in all PHP versions?

No, str_contains() was introduced in PHP 8.0.

How to check substring existence in older PHP versions?

Use strpos($string, $search) !== false in PHP versions before 8.0.

Does str_contains() support multibyte strings?

str_contains() works on bytes and may not fully support multibyte encodings.

Can str_contains() search for empty strings?

Yes, searching for an empty string always returns true.

Does str_contains() modify the string?

No, str_contains() does not modify the string.

What is a real-world use case of str_contains()?

str_contains() is commonly used to validate input, filter content, or check substrings in URLs.

What is the difference between str_contains() and preg_match()?

str_contains() checks simple substring existence, while preg_match() uses regular expressions.

PHP str_contains() Related PHP Functions