博客列表 >PHP字符串函数

PHP字符串函数

Yang_Sir
Yang_Sir原创
2020年04月28日 15:46:01579浏览

PHP常用字符串函数

  • PHP 中内置了很多字符串处理函数,合理使用内置函数可以减少很多代码,也能提高代码的执行效率。
  • PHP 字符串函数在使用长度单位时指的是字节长度,utf8 编码中文会占 3 个字符

常用字符串函数举例:

  1. <?php
  2. //字符串函数
  3. //1.strrev:反转字符串,返回反转后的字符串
  4. $str = 'abcdefg';
  5. echo strrev($str);
  6. //输出结果:abcdefg
  7. echo '<hr>';
  8. //2.urlencode():编码url字符串,对中文和特殊符号转码
  9. //urldecode():解码url字符串,还原
  10. $str = 'name=张三&email=hdh@qq.com';
  11. echo $url = urlencode($str),'<br>';
  12. //输出结果:name%3D%E5%BC%A0%E4%B8%89%26email%3Dhdh%40qq.com
  13. echo urldecode($url);
  14. //输出结果:name=张三&email=hdh@qq.com
  15. echo '<hr>';
  16. //3.http_build_query()
  17. echo http_build_query(['time'=>20200426,'amount'=>253.35]);
  18. //输出结果:time=20200426&amount=253.35
  19. echo '<hr>';
  20. //4.substr_replace:按位置进行字符串替换,length汉字按字节算的,替换中文字符后两参数需为3的倍数
  21. // str_replace: 按查询进行替换
  22. $str = '这是一段演示文本,是吗?';
  23. echo substr_replace($str,'AA',3,6),'<br>';
  24. //输出结果:这AA段演示文本,是吗?
  25. echo substr_replace($str,'AA',2,6),'<br>';
  26. //输出结果:�AA�段演示文本,是吗? //出现乱码
  27. echo str_replace('是','不是',$str,$count),'<br>';
  28. //输出结果:这不是一段演示文本,不是吗?
  29. echo $count,'<br>';//输出:2//替换了2次
  30. //使用数组进行多个值替换
  31. echo str_replace(['演','示'],['正','式'],$str,$count);
  32. //输出结果:这是一段正式文本,是吗?
  33. echo '<hr>';
  34. //5.str_pad():字符串填充函数,长度单位为字节
  35. echo str_pad('恍恍惚惚',15,'1');
  36. //输出结果:恍恍惚惚111 //4*3+3=15
  37. echo '<hr>';
  38. //6.strrpos、strpos、stripos
  39. //strpos:查找字符串在另一字符串中第一次出现的位置,区分大小写
  40. $str = 'PHP is the best programming language in the world.PHP:???';
  41. var_dump(strpos($str,'php'));
  42. echo '<br>',strpos($str,'PHP');//输出结果:bool(false),0
  43. //strrpos:查找字符串在另一字符串中最后一次出现的位置,区分大小写
  44. echo '<br>',strrpos($str,'PHP');//输出结果:50
  45. //stripos:查找字符串在另一字符串中第一次出现的位置,不区分大小写
  46. echo '<br>',strripos($str,'php');//输出结果:50
  47. //7.str_shuffle:随机打乱字符串
  48. echo '<br>',str_shuffle($str);
  49. //输出结果:em? bP Pil n ?lHmpgdtoas?tggirPnr.sPw:gahH iheruenot a e
  50. //8.strnatcasecmp 以自然算法比较2个字符串 //
  51. echo '<br>','100h'>'20h'?1:-1;//输出结果:-1
  52. echo '<br>',strnatcasecmp('100h','20h');//输出结果:1
  53. //9.usort():用自定义函数对数组进行排序
  54. $arr = ['5元','15元','10元','50元','300元'];
  55. //使用计算机算法比较
  56. function compare1($a,$b){
  57. if($a===$b){
  58. return 0;
  59. }
  60. return $a>$b?1:-1;
  61. }
  62. //使用“自然”算法比较
  63. function compare2($a,$b){
  64. return strnatcasecmp($a,$b);;
  65. }
  66. usort($arr,'compare1');
  67. print_r($arr);
  68. //输出结果:Array ( [0] => 10元 [1] => 15元 [2] => 300元 [3] => 50元 [4] => 5元 )
  69. usort($arr,'compare2');
  70. print_r($arr);
  71. //输出结果:Array ( [0] => 5元 [1] => 10元 [2] => 15元 [3] => 50元 [4] => 300元 )
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议