Blogger Information
Blog 64
fans 6
comment 2
visits 83039
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP字符串函数
王娇
Original
471 people have browsed it

学习总结

  • 如果输出的是纯字符串就使用单引号定义字符串
  • 如果输出的字符串中包含变量则使用双引号定义字符串,输出变量的值要使用大括号{变量}
  • 如果要格式化输出一个变量则使用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. ?>

-运行效果图

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:掌握了字符中处理函数, 在开发中可以节省大量的时间
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post