天天看点

PHP 字符串

引用字符串

1.使用单引号包含字符串。

//单引号表示一个字符串

$name = 'Mr.Lee'; 

//单引号包含的变量不会解析

echo 'This is $name';

//使用.连接符将变量放在字符串外部

echo 'This is '.$name;

2.使用双引号包含字符串。

//在没有变量的字符串,单引号和双引号无区别

$name = 'Mr.Lee';

//将双引号的变量进行解析

echo "This is $name";

3.单引号的转义字符。

//使用斜杠转义单引号

echo 'This\'s Mr.Lee';

echo 'This is \\Mr.Lee';

4.双引号的转义字符。

双引号除了可以解析变量,还可以转义比如双引号本身一起更多的一些转义字符。

5.here 文档可以将多行字符串作为整体存放。

//多行字符串

$info = <<< HERE

这是一个文档。

并且有多行。

是的。

HERE;

echo $info;

输出字符串

我们之前已经讲解过多个字符串输出的方式:echo、print_r、var_dump、var_export

等等,这些也是比较常用的输出方法。这里呢,我们再补充几个其他的输出方式。

1.使用 print 函数进行输出。

//输出字符串

print('输出字符串');

2.使用 printf 函数可以格式化输出字符串

3.使用 sprintf 函数可以格式化输出字符串

4.使用 vprintf 函数格式化输出字符串

HTML 实体

使用 htmlentities 函数将 HTML 实体转换成对应的实体。

使用 htmlspecialchars 函数转换实体集来生成合法的 HTML。

使用 htmlspecialchars_decode 函数将字体换成普通字符

HTML 标签

 1.使用 strip_tags 函数删除字符串中的 HTML 标签

 2.使用 get_meta_tags 函数得到网站的 meta tag 元数据

 3.使用 get_headers 函数获取网站的标头信息

URL 编码

1.使用 rawurlencode 函数对字符串进行 URL 编码

//进行编码,空格和中文被编码,英文和数字不变

2.使用 rawurldecode 函数进行 URL 字符串进行解码。

//对编码的部分进行字符串解码

3.使用 urlencode 函数编码 URL 字符串。

//和 rawurlencode 不同仅仅是把空格编码为+号,而不是%20

4.使用 urldecode 解码 URL 字符串

//解码 URL 字符串

SQL 编码

1.使用 addslashes 函数添加转义反斜杠。

2.使用 stripslashes 函数删除转义反斜杠。

Base64 编码

使用 base64_encode 函数进行对数据进行编码。

使用 base64_decode 函数进行对数据进行解码。

使用 http_build_query 函数生成 URL 的请求字符串

使用 parse_url 函数解析 URL 地址

字符串长度

1.使用 strlen 函数可以获取当前字符串长度。

//18 个字符的字符串,空格也算

//在 UTF8 下,一个中文字符占 3 个长度

//在 GBK 下,一个中文字符占 2 个长度

2.使用 mb_strlen 函数获取当前字符串长度

3.使用 mb_internal_encoding 获取当前字符编码

清理空白符号

使用 trim 函数清理字符串左右空白

大小写转换

使用 strtolower 函数将字符转换为小写

使用 strtoupper 函数将字符转换为大写

使用 ucfirst 函数将首字母大写

使用 lcfirst 函数将首字母小写

使用 ucwords 函数将每个单词的首字母大写

使用 mb_convert_case 函数对字符串进行大小写操作

格式化操作

使用 nl2br 函数将换行符转换为<br>。

使用 wordwrap 函数可以让字符串在指定的位置上强制换行

使用 strrev 函数反转字符串

替换操作

使用 substr 函数返回字符串的子串。

2.使用 mb_substr 函数返回字符串的字串

3.使用 str_replace 函数替换指定的字符串

4.使用 substr_replace 函数替换字符串的字串

填充操作

1.使用 str_repeat 函数可以重复字符串

2.使用 str_pad 函数填充字符串

比较操作

1.使用 strcmp 函数进行二进制的字符串比较。

2.使用 strncmp 函数可以指定长度进行二进制字符串比较

3.使用 strnatcmp 函数可以进行自然排序算法的二进制比较

查找操作

1.使用 strpos 函数查找字符串首次的位置

2.使用 strrpos 函数查找最后一次出现的位置

3.使用 strstr 函数返回字符串首次出现的位置并返回之后的字符串。

4.使用 strrchr 函数找到字符串最后一次出现的位置并返回之后的字符串

统计操作

1.使用 substr_count 函数统计字符串出现的次数

2.使用 str_word_count 函数了解每个单词的使用情况。

分解操作

1.使用 explode 函数分割字符串。

//字符串

$info = 'This is a teacher!';

//按照空格分割

$array = explode(' ', $info);

//输出

print_r($array);

2.使用 str_split 函数将字符串转化为数组。

//按照每个字节进行分割

print_r(str_split($info, 1));

3.使用 chunk_split 函数将字符串分割才成小块。

//按 5 个字节分割,并换行

echo chunk_split($info, 5, '<br>');

4.使用 strtok 函数分割字符串

//第一次传递两个参数

$token = strtok($info, ' ');

//循环输出,如果值不为 false

while ($token != false) {

echo $token.'<br>';

//第二次只传分割字符串,自动会获取剩余的字符串

$token = strtok(' ');

}

5.使用 sscanf 函数按照指定格式进行分割。

$info = 'This is a teacher! 30';

//按格式分割

$array = sscanf($info, '%s%s%s%s%d');

合并操作

1.使用 implode 函数合并字符串。

//数组

$array = array('color', 'blue', 'green');

//用逗号分割数组元素

$info = implode(',', $array);

加密操作

1.使用 md5 函数对字符串加密 输出 32 位加密字符串

2.使用 sha1 函数加密字符串 输出 40 位加密密码

3.使用 crc32 函数返回一个校验整数

4.使用 hash 函数生成哈希值

盐值操作

由于 md5 和 sha1 等单纯的加密方式已被破解,所以真正想实现不可逆的加密,需要给

加密的数据增加一些东西。这些东西,我们称作为盐。

//定义一个密钥

$salt = 'ycku.com';

//密码明文

$password = '123456';

//输出加密

echo md5($salt.$password);

补全函数

1.使用 ord 函数输出字符的 ASCII 码值。

//输出 97

echo ord('a');

2.使用 chr 函数返回 ASCII 码的字符。

//输出 a

echo chr(97);

3.使用 str_shuffle 函数随机排列字符串。

//随机排列字符串

4.使用 strpbrk 函数从一组字符中匹配并返回余后的字符串。

//先遇到哪个字符就匹配哪个字符

echo strpbrk($info, 'miT');

5.使用 crypt 函数给字符串加密。

//设置密码

$password = 'mypassword';

//设置密钥

//获取散列值,添加盐值

$hash = crypt($password, $salt);

echo $hash;