PHP字符串的处理(二)-字符串的格式化
1.字符串大小写的转换
strtoupper():将字符串全部转换为大写字母
strtolower():将字符串全部转换为小写字母
ucfirst():将字符串中的首字母转换为大写,其余字符不变
ucwords():将字符串中全部以空格分隔的单词首字母转换为大写
<?php $str = "test of PHP"; echo strtoupper($str); //输出TEST OF PHP echo strtolower($str); //输出test of php echo ucfirst($str); //输出Test of PHP echo ucwords($str); //输出Test Of PHP ?>
2.去除字符串
ltrim():从字符串左侧删除空白字符或其他预定义字符
rtrim():从字符串右侧删除空白字符或其他预定义字符
trim():从字符串两端删除空白字符或其他预定义字符
<?php $str = " sch01ar "; echo strlen($str); //输出的字符串长度为12 echo strlen(ltrim($str)); //去除左侧空格之后的字符串长度为10 echo strlen(rtrim($str)); //去除右侧空格之后的字符串长度为9 echo strlen(trim($str)); //去除两侧空格之后的字符串长度为7 ?>
第二个参数可以自定义用来去除字符串,“...”指定范围,“0..9”表示去除0到9的数字,"a..z"表示去除a到z的小写字母,"A..Z"表示去除A到Z的大写字母
<?php $str = "123...Test of PHP...456..."; echo ltrim($str,"0..9"); //去除了最左端的数字,输出...Test of PHP...456... echo rtrim($str,"."); //去除了最右端的...,123...Test of PHP...456 echo trim($str,"0..9 A..Z ."); //去除了0-9的数字,A-Z的字母和".",输出est of ?>
如果不指定过滤的字符串,默认情况下会去掉下列字符:
" ":空格
"\0":NULL
"\n":换行
"\t":制表符
"\r":回车
3.填补字符串
str_pad(string,length,pad_string,pad_type)
string:字符串
length:处理后的长度
pad_string:填补的字符串,可选,默认为空格
pad_type:指定填补的方向,可选,有以下三个参数,默认为STR_PAD_RIGHT
STR_PAD_BOTH:在字符串两端进行填补
STR_PAD_RIGHT:在字符串右端进行填补
STR_PAD_LEFT:在字符串左端进行填补
<?php $str = "test"; echo str_pad($str, 10); //使用空格在右边填补test echo str_pad($str, 10,"-=", STR_PAD_LEFT); //输出-=-=-=test echo str_pad($str, 10,"+", STR_PAD_BOTH); //输出+++test+++ echo str_pad($str, 10,"#") //输出test###### ?>
4.其他字符串格式化函数
strrev() //对字符串进行反转
<?php $str = "sch01ar"; echo strrev($str); //输出ra10hcs ?>
number_format() //通过千位分组来格式化数字
number_format(number,decimals,decimalpoint,secparator)
number: 必选项,为要被格式化的数字。如果没有设置其他参数,该数字会被格式化为不带小数点且以逗号作为分隔符的数字
decimals: 可选项,规定使用多少个小数。如果设置了该参数,则使用点号(.)作为小数点来格式化数字
decimalpoint: 可选项,规定用什么字符串作为小数点
secparator: 可选项,规定用作千位分隔符的字符串。如果设置了该参数,那么其他参数都是必需的
<?php $number = 123456789; echo number_format($number); //用","作为分隔符,输出:123,456,789 echo "<br>"; echo number_format($number, 2); //用","作为分隔符,保留两位小数,输出:123,456,789.00 echo "<br>"; echo number_format($number, 2,"!","?"); //用"?"作为小数分隔符,用"!"作为千位分隔符。输出:123?456?789!00 ?>
md5() //把字符串进行md5加密,默认返回一个32位的十六进制字符串
md5(string,raw)
string: 必选项,需要进行md5加密的字符串
raw: 可选项,为布尔值。默认为FALSE,返回一个32位的十六进制字符串。TRUE,为一个16位的二进制数
<?php $password = "sch01ar"; echo md5($password); echo "<br>"; if(md5($password) == "ce9372aba1d3f2a2fd81da95541ff370"){ echo "密码正确"; }else{ echo "密码错误"; } ?>