字符串的特点
1. 其他类型的数据用在字符串类型处理函数中,会自动将其转化成字符串后,在处理
1
2
3
4
5
|
<?php
echo substr ( "abcdefghijklmn" ,2,4), "<br>" ; //cdef
//使用数字会自动转化为字符串
echo substr (123456,2,4); //3456
?>
|
2. 可以将字符串视为数组,当做字符集合来看待
1
2
3
4
5
6
7
8
|
<?php
$str = "abcdefg" ;
//下面这两种方法都可以输出想要的字符
echo $str [2]. "<br>" ;
//但是为了区分数组我们常用下面一种
echo $str {2}. "<br>" ;
?>
|
强大的内置的字符串处理函数
1. 常用的字符串输出函数
echo()
print()
die()----exit()
printf() 格式化字符串
sprintf() 返回格式化的字符串
2. 常用的字符串格式化函数
去掉字符
ltrim(); 去掉左边的字符串(默认去掉空格)
rtrim(); 去掉右边的字符串
trim(); 去掉两边的字符串
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?php
$str = " abc " ;
echo strlen ( $str ). "<br>" ;
echo strlen (ltrim( $str )). "<br>" ;
echo strlen (rtrim( $str )). "<br>" ;
echo strlen (trim( $str )). "<br>" ;
$str1 = "123This is Test" ;
//第二个参数指定要删除的字符(串)
echo ltrim( $str1 , '1' ). "<br>" ;
//删除所有的数字 0..9表示范围
echo ltrim( $str1 , '0..9' ). "<br>" ;
?>
|
添加字符串
str_pad(); 添加字符串(默认在右边添加)
1
2
3
4
5
6
7
8
9
10
|
<?php
$str = "hello" ;
//默认从右边补充
echo str_pad ( $str ,10, "@" ). "<br>" ;
//两边补充
echo str_pad ( $str ,10, "@" ,STR_PAD_BOTH). "<br>" ;
//从左边补充
echo str_pad ( $str ,10, "@" ,STR_PAD_LEFT). "<br>" ;
?>
|
大小写转换
strtolower(); 所有的字符都转化成小写
strtoupper(); 所有的字符都转化成大写
ucfirst(); 首字母转化成大写
ucword(); 每个单词首字母转成大写
1
2
3
4
5
6
7
8
|
<?php
$str = "My name is TOM!" ;
echo strtoupper ( $str ). "<br>" ;
echo strtolower ( $str ). "<br>" ;
echo ucfirst( $str ). "<br>" ;
echo ucwords( $str ). "<br>" ;
?>
|
和HTML标签有关的字符串格式化
nl2br(); 函数在字符串中的每个新行 (\n) 之前插入 HTML 换行符 (<br />)。
htmlentities(); 函数把字符转换为 HTML 实体。
htmllspeciachars(); 函数把一些预定义的字符转换为 HTML 实体。
预定义的字符是:
& (和号) 成为 &
""(双引号) 成为 "
''(单引号) 成为 '
< (小于) 成为 <
> (大于) 成为 >
stripslashes(); 函数删除由 addslashes() 函数添加的反斜杠。
addslashes() 函数在指定的预定义字符前添加反斜杠。
这些预定义字符是:
单引号 (')
双引号 (")
反斜杠 (\)
NULL
strip_tags(); 函数剥去 HTML、XML 以及 PHP 的标签。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<form>
input:<input type= "text" name= "str" size= "100" >
<input type= "submit" name= "sub" value= "提交" >
<br>
</form>
<?php
echo $_GET [ "str" ]. "<br>" ;
//函数把字符转换为 HTML 实体。
echo htmlentities( $_GET [ "str" ],ENT_NOQUOTES). "<br>" ;
//函数把一些预定义的字符转换为 HTML 实体。
echo htmlspecialchars( $_GET [ "str" ]). "<br>" ;
//去掉由addslashes()函数加的 \
echo stripslashes ( $_GET [ "str" ]). "<br>" ;
//结合使用
echo htmlentities( stripslashes ( $_GET [ "str" ])). "<br>" ;
// 函数剥去 HTML、XML 以及 PHP 的标签。
echo strip_tags ( $_GET [ "str" ]). "<br>" ;
?>
|
number_format(); 函数通过千位分组来格式化数字。
1
2
3
4
5
6
7
8
|
<?php
$a =1000000.12345;
echo $a . "<br>" ;
echo number_format( $a ). "<br>" ;
//小数点保留三位,千分位用“,”隔开,小数点用“.”
echo number_format( $a ,3, '.' , ',' ). "<br>" ;
?>
|
strrev(); 函数反转字符串
1
2
3
4
5
6
|
<?php
$str = "Hello World!" ;
echo $str . "<br>" ;
echo strrev ( $str ). "<br>" ;
?>
|
md5();
函数计算字符串的 MD5 散列。
md5() 函数使用 RSA 数据安全,包括 MD5 报文摘译算法。
如果成功,则返回所计算的 MD5 散列,如果失败,则返回 false。
1
2
3
4
5
6
|
<?php
$pass = "1234#!_56" ;
if (md5( $pass )== "a8affa3d7aca3a35a39f674e1e5f0cc7" )
echo "Ok!" ;
?>
|
md5_file();
函数计算文件的 MD5 散列。
md5() 函数使用 RSA 数据安全,包括 MD5 报文摘译算法。
如果成功,则返回所计算的 MD5 散列,如果失败,则返回 false。
3.字符串比较函数
strcmp(); 函数比较两个字符串。
0 - 如果两个字符串相等
<0 - 如果 string1 小于 string2
>0 - 如果 string1 大于 string2
strcasecmp();
strnatcmp();
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php
$str1 = "abcd" ;
$str2 = "abcd" ;
if ( strcmp ( $str1 , $str2 )==0){
echo '$str1=$str2' ;
} elseif ( strcmp (str1, $str2 )>0){
echo '$str1>$str2' ;
} else {
echo '$str1<$str2' ;
}
?>
|
以上这篇关于PHP内置的字符串处理函数详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。