PHP 查找字符串常用函数介绍


在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中处理字符串时查找子字符串的常用工具。根据需求选择适当的函数可以大大提高代码的效率和可读性。