学习目标
1、掌握常用的字符串函数
2、掌握常用的时间日期函数
如果需要对字符串进行复杂操作,则需要借助正则表达式来操作。
一、通用函数
exit(string $s)和die(string $s),两个函数终止程序,并输出参数内容;
二、字符串函数
下面的函数处理的数组,一般都是一维数组,不会处理二维数组。
1、把字符串打散为数组
array explode(string $separator, string $string [, int $limit]) 赋值传值,不会影响字符本身。
2、把数组元素组合为字符串
string implode(string $separator, array $array)
参数 | 描述 |
separator | 可选。规定数组元素之间放置的内容。默认是 ""(空字符串)。 |
array | 必需。要组合为字符串的数组。 |
3、将字符串用 md5 算法加密,默认返回一个长度为32的字符串,(加密算法不可逆。)
string md5(string $str[,bool $raw=false])(加密会自动输出加密的结果)
参数 | 描述 |
str | 必需。规定要计算的字符串。 |
raw | 可选。规定十六进制或二进制输出格式: TRUE - 原始 16 字符二进制格式 FALSE - 默认。32 字符十六进制数 |
4、在字符串中的 换行(\n)之前插入换行符(<br />)
string nl2br(string $string[, bool $xhtml=true])
在文本里面\n是换行操作,是对用户隐藏的,浏览器读取的。敲换行的时候,系统自动生成的\n,但是里浏览器认的换行是<br />,没有br,就是一个行,所以需要nl2br()函数,在\n前面加上换行;
如果字符串里面有\n,并且希望它能起到换行作用的,必须要用双引号,不能用单引号,否则会原样输出,不会解析。
参数 | 描述 |
string | 必需。规定要检查的字符串。 |
xhtml | 可选。布尔值,表示是否使用兼容 XHTML 换行: TRUE- 默认。插入 <br /> FALSE - 插入 <br> |
5、把字符串填充为指定的长度
string str_pad(string $str, int $len[, string $pad_string, pad_type])
常用的是向左扩充,如单号00001,前面扩充
参数 | 描述 |
string | 必需。规定要填充的字符串。 |
length | 必需。规定新的字符串长度。如果该值小于字符串的原始长度,则不进行任何操作。 |
pad_string | 可选。规定供填充使用的字符串。默认是空白。 |
pad_type | 可选。规定填充字符串的哪边。 可能的值: STR_PAD_BOTH - 填充字符串的两侧。如果不是偶数,则右侧获得额外的填充。 STR_PAD_LEFT - 填充字符串的左侧。 STR_PAD_RIGHT - 填充字符串的右侧。默认。 (这个参数是常量,不要加引号) |
6、将 字符串S 中的 子字符串A,用 字符串B 代替
string str_replace(string $find, string $replace, string $str[,int $count])
参数 | 描述 |
find | 必需。规定要查找的值。(可以是一个数组,定义要替换哪些字符串) |
replace | 必需。规定替换 find 中的值的值。(可以是一个数组) |
string | 必需。规定被搜索的字符串。 |
count | 可选。对替换数进行计数的变量。(记录一共替换了几次) |
<?php
$url='www.taobao.jd.dangdang.com';
$arr=array('taobao','dangdang');
$arr1=array('tb','dd');
$arr2=array('tb');
$url=str_replace($arr,'jd','$url');//$url='www.jd.jd.jd.com';
$url=($arr,$arr1,$url);//一一对应进行替换,$url='www.tb.jd.dd.com';
$url=($arr,$arr2,$url);//对应的元素不存在就替换为空,$url='www.tb.jd.com';
?>
7、把字符串分割为数组
array str_split(string $string, int $len)(不要用来分割中文)
处理分割字符串的时候,中英文以及编码格式是不同的。
默认情况下,一个英文字符就是一个
utf_8条件下,一个中文占用3个字符,gbk条件下,一个中文占用2个字符
$str='张三';
str_split($str);会分割出6个元素的数组,str_split($str,3);可以正常分割成两个元素的数组;但是要保证只有中文的内容才可以,中文的汉字和符号都是占3个字符在utf_8中。
参数 | 描述 |
string | 必需。规定要分割的字符串。 |
length | 可选。规定每个数组元素的长度。默认是 1。 |
8、查找字符串在另一字符串中第一次出现的位置
int stripos(string $str, string $find[, int $start]) (不区分大小写)
int strpos(string $str, string $find[, int $start]) (区分大小写)
编程中,数数是从0开始算。
参数 | 描述 |
string | 必需。规定要搜索的字符串。 |
find | 必需。规定要查找的字符。 |
start | 可选。规定开始搜索的位置。 |
<?php
//$arr=array('org','com','net','.com.cn');
//$url
$str='www.chuangen.com';
$int=strpos($str,'.');
echo $int;
?>输出的结果是3,出现在第三位
因为第一位是0,不能直接用$int做判断,因为0和false是不相等的,所以要用if($int!==false){echo '找到了';}else{echo '没找到';}
9、查找字符串在另一字符串中最后一次出现的位置
int strripos(string $str, string $find[, int $start]) (不区分大小写)
int strrpos(string $str, string $find[, int $start]) (区分大小写)
参数 | 描述 |
string | 必需。规定要搜索的字符串。 |
find | 必需。规定要查找的字符。 |
start | 可选。规定开始搜索的位置。 |
10、计算字符串的长度(返回的长度值是字节,英文一个是一个字节,utf_8汉字和符号是3个字节)
int strlen(string $string)
参数 | 描述 |
string | 必需。规定要检查的字符串。 |
11、把字符串转换为小写
string strtolower(string $string)
把字符串转换为大写
string strtoupper(string $string)
参数 | 描述 |
string | 必需。规定要转换的字符串。 |
英文字母首字母大写函数:ucfirst(string $str);
12、截取字符串 string substr(string $string, $start[, $length])
$start和$length 都是int型的
按照字节截取字符,适合英文截取
参数 | 描述 |
string | 必需。原始的字符串。 |
start | 必需。规定在字符串的何处开始。 正数 - 在字符串的指定位置开始 负数 - 在从字符串结尾开始的指定位置开始 0 - 在字符串中的第一个字符处开始 |
length | 可选。规定被返回字符串的长度。默认是直到字符串的结尾。 正数 - 从 start 参数所在的位置返回的长度 负数 - 从字符串末端返回的长度 |
第一种用法取出值:
$url='www.baidu.com';
$tmp=explode($url);
echo array_pop($tmp);//可以输出最后一个元素,array_pop(),删除数组最后一个元素并返回删除的内容
$count=count($url) echo $tmp[$count-1];//也可以输出最后一个元素
第二种用法删除内容
$str='a,b,c,1,2,23,56,67,';
$str=substr($str,0,-4);
echo $str;
13、中文字符串截取、编码转换 string mb_substr(string $string, int $start[, int $length],'utf-8')
mb_substr不是php源生的代码,是依赖于扩展包的,需要php.ini中开启";extension=php_mbstring.dll"。
参数 | 描述 |
string | 必需。原始的字符串。 |
start | 必需。规定在字符串的何处开始。 正数 - 在字符串的指定位置开始 负数 - 在从字符串结尾开始的指定位置开始 0 - 在字符串中的第一个字符处开始 |
length | 可选。规定被返回字符串的长度。默认是直到字符串的结尾。 正数 - 从 start 参数所在的位置返回的长度 负数 - 从字符串末端返回的长度 |
14、转换字符串编码
string iconv(string $in_charset, string $out_charset, string $str)
参数 | 描述 |
in_charset | 必需。原始编码。 |
out_charset | 必需。转换后的编码。 |
string | 必需。被转换的字符串 |
如果浏览器设置gbk显示:
$str='你好,世界!';
iconv('utf-8','gbk',$str);这样设置就不会乱码。
可以用于新闻采集系统。有的网站是gbk、有的网站是utf-8格式,我们要把采集到的信息转化为utf-8格式,存到我们的磁盘,然后就可以正常对外显示。
15、去除字符串首尾的指定字符,$char 默认为空格
string trim(string $str[, string $char]) //两边
string ltrim(string $str[, string $char]) //左边
string rtrim(string $str[, string $char]) //右边
参数 | 描述 |
str | 必需。要处理的字符串。 |
char | 必需。要去除的字符。 |
$str='12,23,34,45,56,67,';
trim($str);直接就可以去掉后面的逗号。
该函数常用于登录和注册。去除用户注册时,用户名里面的空格。
16、数字格式化
string number_format(number $num, int $decimals, string $point, string $separator)
给财务的数据需要千分位添加逗号。
注意:返回值是一个字符串,而不是一个数字了。
参数 | 描述 |
num | 必需。要格式化的数字。 如果未设置其他参数,则数字会被格式化为不带小数点且以逗号(,)作为千位分隔符。 |
decimals | 可选。规定多少个小数。如果设置了该参数,则使用点号(.)作为小数点来格式化数字。(小数点后的数字是四舍五入) |
![]() 宠物免费领养小程序,欢迎来踩 |