[TOC] 字符串(string)是PHP中重要的数据类型之一。 字符串就是一系列字符。一个字符串可以只是一个字符,也 可以非常巨大,由任意多个字符组成。 ## 语法 一个字符串可以用 3 种方式表达: 1. 单引号 2. 双引号 3. 定界符 ~~~ <?php $str = '学并思'; $str = "学并思"; $str = <<<EOD Example of string spanning multiple lines using heredoc syntax. EOD; ~~~ 注意:字符如果由双引号括起来,里面有变量,可以进行解析。双引号字符串最重要的一点是其中的变量名会被变量值替代,必要时需要加{}把变量名括起来。 >[danger] 反斜杠\:处理文件特殊字符时,可以用反斜杠进行转义。 ## String 函数 PHP 字符串函数是 PHP 核心的组成部分。无需安装即可使用这些函数 <table class="dataintable"> <tbody> <tr> <th> 函数 </th> <th> 描述 </th> </tr> <tr> <td> <a> addcslashes() </a> </td> <td> 返回在指定的字符前添加反斜杠的字符串。 </td> </tr> <tr> <td> <a> addslashes() </a> </td> <td> <code class=" language-php">(注意)</code>返回在预定义的字符前添加反斜杠的字符串。 </td> </tr> <tr> <td> <a> bin2hex() </a> </td> <td> 把 ASCII 字符的字符串转换为十六进制值。 </td> </tr> <tr> <td> <a> chop() </a> </td> <td> 删除字符串右侧的空白字符或其他字符。 </td> </tr> <tr> <td> <a> chr() </a> </td> <td> 从指定的 ASCII 值返回字符。 </td> </tr> <tr> <td> <a> chunk_split() </a> </td> <td> 把字符串分割为一系列更小的部分。 </td> </tr> <tr> <td> <a> convert_cyr_string() </a> </td> <td> 把字符串由一种 Cyrillic 字符集转换为另一种。 </td> </tr> <tr> <td> <a> convert_uudecode() </a> </td> <td> 解码 uuencode 编码字符串。 </td> </tr> <tr> <td> <a> convert_uuencode() </a> </td> <td> 使用 uuencode 算法对字符串进行编码。 </td> </tr> <tr> <td> <a> count_chars() </a> </td> <td> 返回有关字符串中所用字符的信息。 </td> </tr> <tr> <td> <a> crc32() </a> </td> <td> 计算字符串的 32 位 CRC。 </td> </tr> <tr> <td> <a> crypt() </a> </td> <td> 单向的字符串加密法(hashing)。 </td> </tr> <tr> <td> <a> echo() </a> </td> <td> <code class=" language-php">(注意)</code>输出一个或多个字符串。 </td> </tr> <tr> <td> <a> explode() </a> </td> <td> <code class=" language-php">(注意)</code>把字符串打散为数组。 </td> </tr> <tr> <td> <a> fprintf() </a> </td> <td> 把格式化的字符串写入到指定的输出流。 </td> </tr> <tr> <td> <a> get_html_translation_table() </a> </td> <td> 返回由 htmlspecialchars() 和 htmlentities() 使用的翻译表。 </td> </tr> <tr> <td> <a> hebrev() </a> </td> <td> 把希伯来文本转换为可见文本。 </td> </tr> <tr> <td> <a> hebrevc() </a> </td> <td> 把希伯来文本转换为可见文本,并把新行(\n)转换为 &lt;br&gt;。 </td> </tr> <tr> <td> <a> hex2bin() </a> </td> <td> 把十六进制值的字符串转换为 ASCII 字符。 </td> </tr> <tr> <td> <a> html_entity_decode() </a> </td> <td> 把 HTML 实体转换为字符。 </td> </tr> <tr> <td> <a> htmlentities() </a> </td> <td> 把字符转换为 HTML 实体。 </td> </tr> <tr> <td> <a> htmlspecialchars_decode() </a> </td> <td> <code class=" language-php">(注意)</code>把一些预定义的 HTML 实体转换为字符。 </td> </tr> <tr> <td> <a> htmlspecialchars() </a> </td> <td> <code class=" language-php">(注意)</code>把一些预定义的字符转换为 HTML 实体。 </td> </tr> <tr> <td> <a> implode() </a> </td> <td> <code class=" language-php">(注意)</code>返回由数组元素组合成的字符串。 </td> </tr> <tr> <td> <a> join() </a> </td> <td> implode() 的别名。 </td> </tr> <tr> <td> <a> lcfirst() </a> </td> <td> 把字符串的首字符转换为小写。 </td> </tr> <tr> <td> <a> levenshtein() </a> </td> <td> 返回两个字符串之间的 Levenshtein 距离。 </td> </tr> <tr> <td> <a> localeconv() </a> </td> <td> 返回本地数字及货币格式信息。 </td> </tr> <tr> <td> <a> ltrim() </a> </td> <td> <code class=" language-php">(注意)</code>移除字符串左侧的空白字符或其他字符。 </td> </tr> <tr> <td> <a> md5() </a> </td> <td> <code class=" language-php">(注意)</code>计算字符串的 MD5 散列。 </td> </tr> <tr> <td> <a> md5_file() </a> </td> <td> 计算文件的 MD5 散列。 </td> </tr> <tr> <td> <a> metaphone() </a> </td> <td> 计算字符串的 metaphone 键。 </td> </tr> <tr> <td> <a> money_format() </a> </td> <td> 返回格式化为货币字符串的字符串。 </td> </tr> <tr> <td> <a> nl_langinfo() </a> </td> <td> 返回特定的本地信息。 </td> </tr> <tr> <td> <a> nl2br() </a> </td> <td> 在字符串中的每个新行之前插入 HTML 换行符。 </td> </tr> <tr> <td> <a> number_format() </a> </td> <td> 以千位分组来格式化数字。 </td> </tr> <tr> <td> <a> ord() </a> </td> <td> 返回字符串中第一个字符的 ASCII 值。 </td> </tr> <tr> <td> <a> parse_str() </a> </td> <td> 把查询字符串解析到变量中。 </td> </tr> <tr> <td> <a> print() </a> </td> <td> 输出一个或多个字符串。 </td> </tr> <tr> <td> <a> printf() </a> </td> <td> 输出格式化的字符串。 </td> </tr> <tr> <td> <a> quoted_printable_decode() </a> </td> <td> 把 quoted-printable 字符串转换为 8 位字符串。 </td> </tr> <tr> <td> <a> quoted_printable_encode() </a> </td> <td> 把 8 位字符串转换为 quoted-printable 字符串。 </td> </tr> <tr> <td> <a> quotemeta() </a> </td> <td> 引用元字符。 </td> </tr> <tr> <td> <a> rtrim() </a> </td> <td> <code class=" language-php">(注意)</code>移除字符串右侧的空白字符或其他字符。 </td> </tr> <tr> <td> <a> setlocale() </a> </td> <td> 设置地区信息(地域信息)。 </td> </tr> <tr> <td> <a> sha1() </a> </td> <td> <code class=" language-php">(注意)</code>计算字符串的 SHA-1 散列。 </td> </tr> <tr> <td> <a> sha1_file() </a> </td> <td> 计算文件的 SHA-1 散列。 </td> </tr> <tr> <td> <a> similar_text() </a> </td> <td> 计算两个字符串的相似度。 </td> </tr> <tr> <td> <a> soundex() </a> </td> <td> 计算字符串的 soundex 键。 </td> </tr> <tr> <td> <a> sprintf() </a> </td> <td> 把格式化的字符串写入变量中。 </td> </tr> <tr> <td> <a> sscanf() </a> </td> <td> 根据指定的格式解析来自字符串的输入。 </td> </tr> <tr> <td> <a> str_getcsv() </a> </td> <td> 把 CSV 字符串解析到数组中。 </td> </tr> <tr> <td> <a> str_ireplace() </a> </td> <td> <code class=" language-php">(注意)</code>替换字符串中的一些字符(对大小写不敏感)。 </td> </tr> <tr> <td> <a> str_pad() </a> </td> <td> 把字符串填充为新的长度。 </td> </tr> <tr> <td> <a> str_repeat() </a> </td> <td> <code class=" language-php">(注意)</code>把字符串重复指定的次数。 </td> </tr> <tr> <td> <a> str_replace() </a> </td> <td> <code class=" language-php">(注意)</code>替换字符串中的一些字符(对大小写敏感)。 </td> </tr> <tr> <td> <a> str_rot13() </a> </td> <td> 对字符串执行 ROT13 编码。 </td> </tr> <tr> <td> <a> str_shuffle() </a> </td> <td> 随机地打乱字符串中的所有字符。 </td> </tr> <tr> <td> <a> str_split() </a> </td> <td> 把字符串分割到数组中。 </td> </tr> <tr> <td> <a> str_word_count() </a> </td> <td> 计算字符串中的单词数。 </td> </tr> <tr> <td> <a> strcasecmp() </a> </td> <td> 比较两个字符串(对大小写不敏感)。 </td> </tr> <tr> <td> <a> strchr() </a> </td> <td> 查找字符串在另一字符串中的第一次出现。(strstr() 的别名。) </td> </tr> <tr> <td> <a> strcmp() </a> </td> <td> 比较两个字符串(对大小写敏感)。 </td> </tr> <tr> <td> <a> strcoll() </a> </td> <td> 比较两个字符串(根据本地设置)。 </td> </tr> <tr> <td> <a> strcspn() </a> </td> <td> 返回在找到某些指定字符的任何部分之前,在字符串中查找的字符数。 </td> </tr> <tr> <td> <a> strip_tags() </a> </td> <td> <code class=" language-php">(注意)</code>剥去字符串中的 HTML 和 PHP 标签。 </td> </tr> <tr> <td> <a> stripcslashes() </a> </td> <td> 删除由 addcslashes() 函数添加的反斜杠。 </td> </tr> <tr> <td> <a> stripslashes() </a> </td> <td> 删除由 addslashes() 函数添加的反斜杠。 </td> </tr> <tr> <td> <a> stripos() </a> </td> <td> <code class=" language-php">(注意)</code>返回字符串在另一字符串中第一次出现的位置(对大小写不敏感)。 </td> </tr> <tr> <td> <a> stristr() </a> </td> <td> 查找字符串在另一字符串中第一次出现的位置(大小写不敏感)。 </td> </tr> <tr> <td> <a> strlen() </a> </td> <td> <code class=" language-php">(注意)</code>返回字符串的长度。 </td> </tr> <tr> <td> <a> strnatcasecmp() </a> </td> <td> 使用一种"自然排序"算法来比较两个字符串(对大小写不敏感)。 </td> </tr> <tr> <td> <a> strnatcmp() </a> </td> <td> 使用一种"自然排序"算法来比较两个字符串(对大小写敏感)。 </td> </tr> <tr> <td> <a> strncasecmp() </a> </td> <td> 前 n 个字符的字符串比较(对大小写不敏感)。 </td> </tr> <tr> <td> <a> strncmp() </a> </td> <td> 前 n 个字符的字符串比较(对大小写敏感)。 </td> </tr> <tr> <td> <a> strpbrk() </a> </td> <td> 在字符串中查找一组字符的任何一个字符。 </td> </tr> <tr> <td> <a> strpos() </a> </td> <td> <code class=" language-php">(注意)</code>返回字符串在另一字符串中第一次出现的位置(对大小写敏感)。 </td> </tr> <tr> <td> <a> strrchr() </a> </td> <td> 查找字符串在另一个字符串中最后一次出现。 </td> </tr> <tr> <td> <a> strrev() </a> </td> <td> 反转字符串。 </td> </tr> <tr> <td> <a> strripos() </a> </td> <td> 查找字符串在另一字符串中最后一次出现的位置(对大小写不敏感)。 </td> </tr> <tr> <td> <a> strrpos() </a> </td> <td> 查找字符串在另一字符串中最后一次出现的位置(对大小写敏感)。 </td> </tr> <tr> <td> <a> strspn() </a> </td> <td> 返回在字符串中包含的特定字符的数目。 </td> </tr> <tr> <td> <a> strstr() </a> </td> <td> 查找字符串在另一字符串中的第一次出现(对大小写敏感)。 </td> </tr> <tr> <td> <a> strtok() </a> </td> <td> 把字符串分割为更小的字符串。 </td> </tr> <tr> <td> <a> strtolower() </a> </td> <td> <code class=" language-php">(注意)</code>把字符串转换为小写字母。 </td> </tr> <tr> <td> <a> strtoupper() </a> </td> <td> <code class=" language-php">(注意)</code>把字符串转换为大写字母。 </td> </tr> <tr> <td> <a> strtr() </a> </td> <td> 转换字符串中特定的字符。 </td> </tr> <tr> <td> <a> substr() </a> </td> <td> <code class=" language-php">(注意)</code>返回字符串的一部分。 </td> </tr> <tr> <td> <a> substr_compare() </a> </td> <td> 从指定的开始位置(二进制安全和选择性区分大小写)比较两个字符串。 </td> </tr> <tr> <td> <a> substr_count() </a> </td> <td> 计算子串在字符串中出现的次数。 </td> </tr> <tr> <td> <a> substr_replace() </a> </td> <td> 把字符串的一部分替换为另一个字符串。 </td> </tr> <tr> <td> <a> trim() </a> </td> <td> <code class=" language-php">(注意)</code>移除字符串两侧的空白字符和其他字符。 </td> </tr> <tr> <td> <a> ucfirst() </a> </td> <td> <code class=" language-php">(注意)</code>把字符串中的首字符转换为大写。 </td> </tr> <tr> <td> <a> ucwords() </a> </td> <td> <code class=" language-php">(注意)</code>把字符串中每个单词的首字符转换为大写。 </td> </tr> <tr> <td> <a> vfprintf() </a> </td> <td> 把格式化的字符串写到指定的输出流。 </td> </tr> <tr> <td> <a> vprintf() </a> </td> <td> 输出格式化的字符串。 </td> </tr> <tr> <td> <a> vsprintf() </a> </td> <td> 把格式化字符串写入变量中。 </td> </tr> <tr> <td> <a> wordwrap() </a> </td> <td> 打断字符串为指定数量的字串 </td> </tr> </tbody> </table> >[danger] 练习:将提交的$_POST['message']进行实体与转义处理 创建一个检测文件扩展名是否为图片的函数。