PHP 字符串
PHP 字符串
Section titled “PHP 字符串”字符串(String)是一系列字符,用于表示文本。在 PHP 中,可以使用单引号('...')、双引号("...")或 heredoc/nowdoc 语法创建字符串。
双引号("")和 heredoc 允许变量插值(variable interpolation)和处理转义序列(escape sequences,例如 \n 表示换行),而单引号('')和 nowdoc 则几乎按字面意思处理内容。
常用字符串函数
Section titled “常用字符串函数”PHP 提供了庞大的函数库用于字符串操作。这里列出了一些最常用的函数:
获取字符串长度
Section titled “获取字符串长度”strlen() 函数返回字符串的字节长度(对于像 UTF-8 这样的多字节编码,不一定等于字符数)。
对于使用多字节编码(例如 UTF-8)进行准确的字符计数,请使用 mb_strlen()。
<?php$string = "Hello world!";echo strlen($string); // 输出:12
$utf8String = "你好世界"; // UTF-8 编码的字符串echo strlen($utf8String); // 输出:12 (字节)echo mb_strlen($utf8String, 'UTF-8'); // 输出:4 (字符)?>计算字符串中的单词数
Section titled “计算字符串中的单词数”str_word_count() 函数计算字符串中的单词数。
<?php$sentence = "This is a simple sentence.";echo str_word_count($sentence); // 输出:5?>strrev() 函数反转字符串。注意:此函数基于字节操作,可能无法正确处理多字节字符编码。
<?php$text = "Hello world!";echo strrev($text); // 输出:!dlrow olleH?>在字符串中搜索文本
Section titled “在字符串中搜索文本”strpos() 函数查找子字符串在字符串中第一次出现的数字位置(区分大小写)。它返回起始位置索引(基于 0),如果未找到子字符串,则返回 false。
重要提示:检查 strpos() 的返回值时,请务必使用严格比较运算符(=== 或 !==),因为在宽松比较(==)中,位置 0 会被判定为 false。
PHP 8 引入了 str_contains(),它返回布尔值(true/false),对于仅检查是否存在通常更具可读性。
<?php$haystack = "Hello world!";$needle = "world";
$position = strpos($haystack, $needle);
if ($position !== false) { echo "Found '$needle' at position: $position"; // 输出:在位置 6 找到 'world'} else { echo "'$needle' not found.";}
// 使用 str_contains() (PHP 8+)if (str_contains($haystack, $needle)) { echo "\nThe haystack contains the needle."; // 输出:haystack 包含 needle。}?>其他有用的搜索函数包括 stripos()(不区分大小写的 strpos)、strrpos()(查找最后一次出现)、strripos()(不区分大小写的最后一次出现)、strstr()(查找第一次出现并返回字符串的其余部分)、str_starts_with() (PHP 8+) 和 str_ends_with() (PHP 8+)。
在字符串中替换文本
Section titled “在字符串中替换文本”str_replace() 函数替换搜索字符串在目标字符串中的所有出现(区分大小写)。
<?php$original = "Hello world!";$updated = str_replace("world", "PHP", $original);echo $updated; // 输出:Hello PHP!?>对于不区分大小写的替换,请使用 str_ireplace()。
处理多字节字符串 (UTF-8)
Section titled “处理多字节字符串 (UTF-8)”标准 PHP 字符串函数以字节为单位操作。如果你正在处理像 UTF-8 这样的多字节字符编码(强烈推荐用于 Web 应用程序),你应该使用多字节字符串扩展(Multibyte String extension,通常默认启用)中相应的 mb_* 函数。
示例:mb_strlen()、mb_strpos()、mb_substr()、mb_strtolower()、mb_strtoupper()。
<?php$utf8String = "你好世界";
// 正确的长度echo mb_strlen($utf8String, 'UTF-8'); // 输出:4
// 正确的子字符串echo mb_substr($utf8String, 0, 2, 'UTF-8'); // 输出:你好?>完整的 PHP 字符串参考
Section titled “完整的 PHP 字符串参考”这只是一小部分精选。PHP 提供了更多函数用于诸如转换大小写、移除空白符、格式化、分割、连接字符串等任务。
如需所有字符串函数的完整参考,包括描述和示例,请查阅 PHP.net 上提供的官方 PHP 文档。