博客列表 >PHP字符串函数

PHP字符串函数

王娇
王娇原创
2020年04月26日 10:01:06470浏览

学习总结

  • 如果输出的是纯字符串就使用单引号定义字符串
  • 如果输出的字符串中包含变量则使用双引号定义字符串,输出变量的值要使用大括号{变量}
  • 如果要格式化输出一个变量则使用printf
  • 前后台交互时会频繁使用字符串截取和查找替换
  • 在实际开发中会经常使用$_SERVER自变量获取系统的值
  1. <?php
  2. #字符串函数
  3. // 1.字符串打印输出函数
  4. // a.echo输出字符串
  5. $name = 'angle';
  6. //字符串使用双引号时可以解析其中的变量,变量使用{变量名称}
  7. //如果输出不含变量的字符串,推荐使用单引号
  8. echo "我的名字是:{$name}",'<br>';
  9. // b.sprintf 返回格式化后的字符串到变量中
  10. $table = 'tb_user';
  11. $userName = 'angle';
  12. $passWord = 'wj880827';
  13. $showCount = 10;
  14. //可以使用sprintf(字符串格式,变量)返回一个sql查询字符串
  15. $sqlStr = sprintf('select * from `%s` where username=%s and password=%s limit %d',$table,$userName,$passWord,$showCount);
  16. echo $sqlStr,'<br>';
  17. //c.vsprintf 参数是数组,返回格式化后的字符串
  18. $sqlArr = ['tb_user','hugn','hugn124',10];
  19. $sqlStr = vsprintf('select * from `%s` where username=%s and password=%s limit %d',$sqlArr);
  20. echo $sqlStr,'<br>';
  21. //d.vfprintf把格式化后的字符串写入文件流中,参数可以使用数组
  22. //打开一个文件fopen(文件名,打开方式),如果文件不存在则新建一个
  23. $fileHandle = fopen('sql.txt','w');//用写的方式打开sql.txt文件
  24. $sqlArr = ['tb_user','angle',1];
  25. $sqlArr1 = ['tb_student','peter'];
  26. vfprintf($fileHandle,"select * from `%s` where username=%s and isadmin=%d\n",$sqlArr);//把格式化后的字符串写入sql.txt
  27. vfprintf($fileHandle,'select * from `%s` where name=%s',$sqlArr1);//继续写入格式化后的字符串
  28. echo file_get_contents('sql.txt');//file_get_contents(文件名)获取文件中的内容
  29. echo '<hr>';
  30. // 2.分割查询与替换字符串函数
  31. //a.把数组分割转换为字符串implode()
  32. $arrStr = ['angle','女',32,true];
  33. $stuInfo = implode(',',$arrStr);//把数组中的每个元素转换为字符串,并且用‘,’号分割
  34. echo $stuInfo,'<br>';
  35. //b.把字符串转换为数组explode(数组元素之间的分割符,要分割的字符串)
  36. $stuInfo = 'angle,女,32,1';
  37. $arrStu = explode(',',$stuInfo);//explode(数组元素之间的分割符,要分割的字符串)
  38. $pStr = print_r($arrStu,true);//printr()转换字符串到变量里
  39. echo printf('<pre>%s</pre>',$pStr);//数组格式化输出
  40. echo vsprintf("姓名:%s 性别:%s 年龄:%s 是否在职:%s",$arrStu),'<br>';//数组格式化输出为一个字符串
  41. //c.字符串截取substr()
  42. $str = 'my name is wangjiao i am a gril i am 32';
  43. echo substr($str,0,10),'<br>';
  44. echo substr($str,-8,8),'<br>';
  45. echo substr_count($str,'am'),'<br>';//e.查找字符串中子串的出现次数substr_count()
  46. echo substr_replace($str,'34',-2,2),'<br>';//d.字符串替换substr_replace
  47. //f.将字符串填充到指定长度str_pad()
  48. $str = 'wangjiao';
  49. echo str_pad($str,15,"*",STR_PAD_BOTH);//将字符串填充到指定的长度
  50. //g.字符串查找并替换,支持数组str_replace()
  51. $seaStr = ['销售','微信','徽商','带货'];
  52. $relStr = ['**','&&','##','--'];
  53. $conStr = ['销售化妆品','我的微信号是:angle','徽商是时代产物','直播带货'];
  54. $repConstr = str_replace($seaStr,$relStr,$conStr);
  55. echo sprintf('<pre>%s</pre>',print_r($repConstr,true));
  56. //h.去掉字符串中的html和php标签strip_tags()
  57. echo '<h2>php中文网</h2>','<br>';
  58. echo strip_tags('<h2>php中文网</h2>'),'<br>';
  59. echo '<hr>';
  60. // 3.URL处理函数
  61. //a. parse_str()
  62. // parse_str(): 解析查询字符串
  63. //http://localhost/php11/0422/index.php?type=fruit&page=2 url地址
  64. $queStr = $_SERVER['QUERY_STRING'];//$_SERVER['QUERY_STRING']获取url地址的查询字符串
  65. echo $queStr;//type=fruit&page=2获取的查询字符串
  66. parse_str( $queStr, $getStr);//将获取的查询字符串转换为一个数组
  67. printf('<pre>%s</pre>',print_r($getStr,true));//打印数组中的值
  68. //b. parse_url():解析url地址
  69. $urlStr = 'http://localhost/php11/0422/index.php?type=fruit&page=2';
  70. echo $urlStr;
  71. $urlArr = parse_url($urlStr);//不添加第二个参数,默认返回协议,主机名,脚本路径,查询字符串
  72. $queStr = parse_url($urlStr,PHP_URL_QUERY);//加第二个参数返回查询字符串
  73. printf('<pre>%s</pre>',print_r($urlArr,true));//打印解析URL后数组中的值
  74. echo $queStr,'<br>';//输入查询字符串
  75. //c. http_build_query()// 把一个数组解析为一个查询字符串
  76. $queArr = ['id' => '1001','class' => '05-03','name' => 'angle'];
  77. $queStr = http_build_query($queArr);
  78. $hostStr = $_SERVER['HTTP_HOST'];//返回http主机名或域名
  79. $pathStr = $_SERVER['SCRIPT_NAME'];//返加当前执行脚本的路径和文件名
  80. $proStr = $_SERVER['SERVER_PROTOCOL'];//返回协议
  81. $urlStr = substr($proStr,0,4).'://'.$hostStr.$pathStr.'?'.$queStr;
  82. echo $urlStr;
  83. ?>

-运行效果图

上一条:php函数下一条:数组与数组函数
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议