PHP函数大全(字符串)

PHP常用函数大全之字符串函数

前情提要:本篇文章出现的字符串函数全部经过手敲验证,后续会一直更新,感谢支持!
注意:echo,print_r等是用来查看返回值和结果的,字符串函数在其后或其内

一.返回bool

①自定字符串:

$a = "";

②验证与返回值:

1. 当字符串为NULL或不存在,返回false,反之为true
echo isset($a);    // 返回true

2.当字符串为NULL""或array()0'0'或不存在时,返回true,反之为false
echo empty($a);    // 返回true

二.返回字符串

①自定义字符串:

$b = 'Hello world';

②验证与返回值:

1.截取字符串的一部分,参数2为从第几个下标开始,参数3为截取长度
echo substr($b,2,6);    // llo wo

2.截取字符串并替换,参数2为要替换的字符,参数3为从第几个下标开始
echo substr_replace($b,'jz',6);    // Hello jz

3.计算子串在字符串中出现的次数,参数2为要搜索的字符,参数3为从第几个下标开始,参数4为搜索长度
echo substr_count($b,'l',3,6);    // 1

4.搜索字符串在另一字符串中第一次出现的位置并返回该字符串及后面剩余部分,参数3为是否改为返回前部分,默认为false,且区分大小写
echo strstr($b,'l');    // llo world
echo strstr($b,'l',true);    // He

5.该函数是strstr() 函数的别名
echo strchr($b,'l');    // llo world
echo strchr($b,'l',true);    // He

6.不区分大小写,其他同上(第4条)
echo stristr($b,'L',true);    // He
echo stristr($b,'L',false);    // llo world

7.查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符,且区分大小写
echo strrchr($b,'l');    // ld

8.把字符串重复指定的次数,参数2为多少次
echo str_repeat($b,2);    // Hello worldHello world

9.函数以其他字符替换字符串中的一些字符,且区分大小写
echo str_replace('world','jz',$b);    // Hello jz

10.不区分大小写,其他同上
echo str_ireplace('WOrlD','jz',$b);    // Hello jz

三.返回数字

①自定义字符串:

$c = 'I Love Jz';
$d = 'I Love JiaoZheng';

$f = 'i 2Love Jz';
$g = 'i 3Love Jz';
$h = 'I 3Love Jz';

$i = '29587.57';
$ii = '29587你好3w';

②验证与返回值:

1.查找字符串在另一字符串中第一次出现的位置(区分大小写)
echo strpos($c,'Jz');   // 7
2.查找字符串在另一字符串中第一次出现的位置(不区分大小写)
echo stripos($c,'jz');   // 7

3.查找字符串在另一字符串中最后一次出现的位置(区分大小写)
echo strrpos($c,'ve');   // 4
4.查找字符串在另一字符串中最后一次出现的位置(不区分大小写)
echo strripos($c,'Ve');   // 4

5.计算字符串中的单词数(不含纯数字)
echo str_word_count($c);   // 3

6.ASCII码,来比较两个字符串,对大小写敏感,返回值为:-1(),0(相等),1()
echo strcmp($c,$d);   // 返回1:前边一样,比较到z>i,则$c>$d返回1
7.ASCII码,来比较两个字符串,对大小写不敏感,返回值为:负数,0,正数 
echo strcasecmp($c,$d);   // 返回17:前边一样,比较到z(122)>i(105),则$c-$d返回17

8.按自然数排序,来比较两个字符串,对大小写敏感,返回值为:-1(),0(相等),1()
echo strnatcmp($f,$g);   // 返回-1:比较2<3,则返回-1
9.按自然数排序,来比较两个字符串,对大小写不敏感,返回值为:-1(),0(相等),1()
echo strnatcasecmp($f,$h);   // 返回-1:排除大小写,比较2<3,则返回-1

10.通过千位分组来格式化数字,参数2为保留小数,参数3为替换小数点,参数4为替换千分位
echo number_format($i);   // 29,588
echo number_format($i,3);   // 29,587.570
echo number_format($i,2,'x','y');   // 29y587x57

11.返回字符串长度
echo mb_strlen($ii,'utf8');   // 返回9:9=5+2+2,此函数在utf-8下,处理汉字按照一个字符处理
echo mb_strlen($ii,'gbk');   // 返回10:10=5+2x1.5+2,此函数在gbk下,处理汉字按照一个字符占1.5个字节处理

12.返回字符串长度
echo strlen($ii);   // 返回13:13=5+2x3+2:,此函数处理汉字,在utf-8下,1个字符占3个字节

四.文本处理类

①自定义字符串:

$j = 'Hello World i love YOU';
$jj = '?Hello World i love YOU?';
$k = 'hello world Jz';

②验证与返回值:

1.字母全转为大写
echo strtoupper($j);   // HELLO WORLD I LOVE YOU

2.字母全转为小写
echo strtolower($j);   // hello world i love you

3.整个字符串首字母大写
echo ucfirst($k);   // Hello world Jz:整个字符串首字母就是h

4.字符串每个单词首字母都大写
echo ucwords($k);   // Hello World Jz

5.指定时间转换为时间戳
echo strtotime('2018-10-23 17:45:00');  // 1540287900

6.在字符串的右边填补给定字符,如“-“,参数2若小于字符串本身长度,不填补
echo str_pad($jj,26,'-');   // ?Hello World i love YOU?--
7.在字符串的两边填补给定字符
echo str_pad($jj,26,'-',STR_PAD_BOTH);   // -?Hello World i love YOU?-
8.在字符串的左边边填补给定字符
echo str_pad($jj,26,'-',STR_PAD_LEFT);   // --?Hello World i love YOU?
9.在字符串的右边填补给定字符,默认
echo str_pad($jj,26,'-',STR_PAD_RIGHT);   // ?Hello World i love YOU?--

10.去除两边的空白或自定义字符,如"?",默认是空白
echo trim($jj,"?");   // Hello World i love YOU
11.去除左边的空白或自定义字符,如“?,默认是空白
echo ltrim($jj,"?");   // Hello World i love YOU?
12.去除右边的空白或自定义字符,如“?,默认是空白
echo rtrim($jj,"?");   // ?Hello World i love YOU

13.获取变量的浮点值
echo floatval("12.345a12.34a");   // 12.345:只取数字且遇到其他直接舍弃

五.HTML类处理

①自定义字符串:

$l = 'Hello<br>jz';
$m = 'He\llo "jz"';
$n = "Hello\njz";
$o = "你好";

②验证与返回值:

1.会识别<br>,输出时会换行
echo $l;   // Hello换行jz

2.把预定义的字符转换为HTML实体
echo htmlspecialchars($l);   // Hello<br>jz
3.把预定义的HTML实体转换为字符
echo htmlspecialchars_decode($l);   // Hello换行jz

4.把预定义的字符转换为HTML实体
echo htmlentities($l);   // Hello<br>jz
5.把预定义的HTML实体转换为字符
echo html_entity_decode($l);   // Hello换行jz

标注:htmlspecialchars和htmlentities区别在于:后者转换所有字符包括汉字(汉字会乱码,需给参数GB2312也可)等,但前者只转换如(&,'',"",<,>)

6.函数返回在预定义字符(如:'',"",\,null)之前添加反斜杠的字符串
echo addslashes($m);   // He\\llo \"jz\"
7.上边函数的反函数(删除反斜杠)
echo stripslashes($m);   // Hello "jz"

8.删除HTML标签
echo strip_tags($l);   // Hellojz

9.直接echo浏览器不识别\n,nl2br让浏览器识别了\n
echo $n;   // Hello jz
echo nl2br($n);   // Hello换行jz

10.将字符串的编码从参数1转到参数2(此函数有bug,详细用法百度)
echo iconv("utf-8","gb2312",$o);    // ���

其他函数

①自定义字符串:

$str = '23&&re';
$arr = ['23','','re'];

②验证与返回值:

1.把字符串$str按照"参数1"分割成一个数组
print_r(explode("&",$str));    // Array([0] =>23 [1]=> [2]=>re)
2.把数组$arr的元素按照“参数1”链接成一个字符串
echo implode("&",$arr);    // 23&&re
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值