在PHP中,查找字符串的常用函数主要有几个,它们可以帮助你在字符串中搜索特定的子字符串,并返回相关的位置或进行其他操作。以下是一些常用的函数及其简要介绍:
1. **strpos()**
`strpos()` 函数用于查找字符串首次出现的位置。如果找到了字符串,则返回首次出现的索引位置(从0开始计数),如果没有找到字符串则返回 `false`。
$haystack = 'Hello, world!';
$pos = strpos($haystack, 'world');
if ($pos !== false) {
echo "Found 'world' at position $pos";
} else {
echo "'world' not found";
}
2. **stripos()**
`stripos()` 函数与 `strpos()` 类似,不过它是大小写不敏感的。
$haystack = 'Hello, World!';
$pos = stripos($haystack, 'world');
echo "Found 'world' at position $pos"; // 注意:即使是大小写不匹配也会找到并返回位置
3. **strrpos()**
`strrpos()` 函数用于查找字符串最后一次出现的位置。
$haystack = 'world world world';
$pos = strrpos($haystack, 'world');
echo "Last occurrence of 'world' is at position $pos";
4. **strripos()**
`strripos()` 函数与 `strrpos()` 类似,不过它是大小写不敏感的。
$haystack = 'World World world';
$pos = strripos($haystack, 'world');
echo "Last occurrence of 'world' (case-insensitive) is at position $pos";
5. **strstr() / strchr()**
`strstr()` 和 `strchr()` 函数实际上在PHP中是等价的,它们用于查找字符串的首次出现,并返回从该位置到字符串结束的所有字符。如果没有找到字符串,则返回 `false`。注意,`strchr()` 的名称可能有些误导,因为它实际上并不只返回第一个字符。
$email = 'user@example.com';
$domain = strstr($email, '@');
echo $domain; // 输出: @example.com
6. **stristr()**
`stristr()` 函数与 `strstr()` 类似,不过它是大小写不敏感的。
$email = 'User@Example.com';
$domain = stristr($email, '@');
echo $domain; // 输出: @Example.com
这些函数是PHP中处理字符串时查找子字符串的常用工具。根据需求选择适当的函数可以大大提高代码的效率和可读性。