[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)转换为 <br>。
</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']进行实体与转义处理
创建一个检测文件扩展名是否为图片的函数。
- 序言
- 第一章:准备工作
- 写在学习之前的话
- web应用开发结构
- 开发工具/环境
- 第二章:展现层面(HTML/CSS)
- HTML简介
- HTML基础
- HTML编码
- HTML链接
- HTML图像
- HTML列表
- HTML表单
- HTML表格(分水岭)
- HTML 实体
- HTML框架
- CSS层叠样式表
- CSS选择器
- CSS文本/字体
- CSS继承和叠加
- CSS框模型
- CSS浮动(分水岭)
- CSS定位
- CSS背景
- CSS图标字体
- CSS补充
- 开发技巧
- 第三章:展现层面(Javascript)
- JS简介
- JS实现
- JS输出交互
- JS变量
- JS数据类型
- JS运算符
- JS流程控制(分水岭)
- JS函数
- JS数组
- JS对象(分水岭)
- JS数组对象
- JS字符串对象
- JS数学对象
- JS日期对象
- JS BOM对象(分水岭)
- JS DOM对象
- JS事件对象
- JS元素对象
- JS DOM节点
- 第四章:展现层面(Jquery)
- JQ简介
- JQ使用
- JQ选择器
- JQ筛选
- JQ属性
- JQ-CSS
- JQ事件
- JQ文档处理
- JQ效果
- JQ-ajax
- 第五章:逻辑/业务层面(PHP)
- PHP简介
- PHP变量
- PHP数据类型
- PHP常量
- PHP运算符
- PHP流程控制
- PHP函数(分水岭)
- PHP日期
- PHP数学
- PHP数组
- PHP字符串
- PHP正则表达式(分水岭)
- PHP目录操作
- PHP文件
- PHP上传/下载
- PHP面向对象(分水岭)
- PHP图像处理
- PHP会话控制
- Ajax异步处理
- PHPMysql扩展
- PHPMysqli扩展
- PHPPdo扩展
- PHP接口
- PHP命名空间
- 第六章:逻辑/业务层面(框架设计)
- 第七章:存储层面(mysql)
- Mysql基础
- Mysql Sql简介
- Mysql数据库
- Mysql数据类型
- Mysql数据表
- Mysql操作记录
- Mysql查询
- Mysql修改表结构
- Mysql日期与时间
- Mysql分组统计
- Mysql多表查询
- Mysql安全
- Mysql存储引擎
- Mysql事务
- Mysql视图
- Mysql触发器
- Mysql存储过程
- Mysql存储函数
- Mysql优化
- 第八章:服务器(Linux)
- Linux介绍与安装
- Shell
- 目录与文件操作
- VIM编辑器使用
- 帐号管理
- SUDO
- 权限控制
- 压缩与打包
- 软件安装
- 计划任务
- 进程管理
- 宝塔Linux面板