Now with PHP 8 you can do this using str_contains:
if (str_contains('How are you', 'are')) {
echo 'true';
}
Please note: The str_contains
function will always return true if the $needle (the substring to search for in your string) is empty.
$haystack = 'Hello';
$needle = '';
if (str_contains($haystack, $needle)) {
echo "This returned true!";
} else {
echo "This returned false!";
}
Output: This returned true!
You should first make sure the $needle (your substring) is not empty.
$haystack = 'How are you?';
$needle = '';
if ($needle && str_contains($haystack, $needle)) {
echo "This returned true!";
} else {
echo "This returned false!";
}
Output: This returned false!
It's also worth noting that the new str_contains
function is case-sensitive.
$haystack = 'How are you?';
$needle = 'how';
if ($needle && str_contains($haystack, $needle)) {
echo "This returned true!";
} else {
echo "This returned false!";
}
Output: This returned false!
Before PHP 8
You can use the strpos()
function which is used to find the occurrence of one string inside another one:
$haystack = 'How are you?';
$needle = 'are';
if (strpos($haystack, $needle) !== false) {
echo 'true';
}
Note that the use of !== false
is deliberate (neither != false
nor === true
will return the desired result); strpos()
returns either the offset at which the needle string begins in the haystack string, or the boolean false
if the needle isn't found. Since 0 is a valid offset and 0 is "falsey", we can't use simpler constructs like !strpos($a, 'are')
.
How to delete a newline if it is the last character in a file?
How to pass command-line arguments to a Perl program?
How to efficiently calculate a running standard deviation
Howto use a variable in the replacement side of the Perl substitution operator?
How to summ quickly all numbers in a file?
How to remove duplicate items from an array in Perl?
How to differ of Two Arrays Using Perl