📜  在 php 字符串中查找或 - PHP (1)

📅  最后修改于: 2023-12-03 15:37:26.178000             🧑  作者: Mango

在 PHP 字符串中查找或 - PHP

在 PHP 中,可以使用多种方法来查找一个字符串中是否包含另一个字符串。以下是一些常用的方法:

strpos()

strpos() 函数可以在一个字符串中查找另一个字符串,并返回第一次出现字符串的位置。如果没有找到,将返回 false

$haystack = 'This is a string';
$needle = 'is';

if (strpos($haystack, $needle) !== false) {
    echo "Found $needle in $haystack";
} else {
    echo "Didn't find $needle in $haystack";
}

这里,我们在 $haystack 字符串中查找 $needle 字符串。由于 $needle 存在于 $haystack 中,因此输出结果将是:

Found is in This is a string
strstr()

strstr() 函数也可以查找一个字符串中的子串,但与 strpos() 函数不同,它会返回从匹配位置到字符串末尾的所有字符。

$haystack = 'This is a string';
$needle = 'is';

if (strstr($haystack, $needle)) {
    echo "Found $needle in $haystack";
} else {
    echo "Didn't find $needle in $haystack";
}

这里,我们仍然在 $haystack 字符串中查找 $needle 子串,但与前一个例子不同的是,我们使用 strstr() 函数来实现。由于 $needle 存在于 $haystack 中,因此输出结果将是:

Found is a string in This is a string
preg_match()

preg_match() 函数可以使用正则表达式在字符串中查找模式。如果找到模式,则返回 1。如果没有找到模式,则返回 0

$string = 'This is a 123 string';
$pattern = '/\d/';

if (preg_match($pattern, $string)) {
    echo "Found a digit in $string";
} else {
    echo "Didn't find a digit in $string";
}

这里,我们在 $string 字符串中查找数字。由于 $string 中存在数字,因此输出结果将是:

Found a digit in This is a 123 string
总结

在 PHP 中,有多种方法可以查找一个字符串中是否包含另一个字符串。选择正确的方法取决于您的需求和所使用的字符串。在本文中,我们介绍了 strpos()strstr()preg_match() 函数,您可以根据需要选择其中之一。