当前位置:首页 > PHP教程 > php应用 > 列表

php学习笔记之字符串常见操作总结

发布:smiling 来源: PHP粉丝网  添加日期:2021-12-04 20:31:46 浏览: 评论:0 

这篇文章主要介绍了php学习笔记之字符串常见操作,结合实例形式总结分析了php字符串的定义、单引号与双引号的用法以及常见字符串操作函数使用技巧,需要的朋友可以参考下。

本文实例讲述了php字符串常见操作。分享给大家供大家参考,具体如下:

字符串的定义

可以用单引号或双引号来定义字符串

  1. <?php 
  2. $str = "hello"
  3. $str = 'hello'
  4. ?> 

heredoc和nowdoc定义大段字符串

区别:和单引号与双引号定义字符串的区别相同

  1. <?php 
  2. //heredoc的使用 
  3. $str3 = <<<MARK 
  4. hello 
  5.  world! 
  6.   ok;$a 
  7.    puzhong! 
  8. MARK; 
  9. echo $str3."<br/>"
  10. //nowdoc的使用 
  11. $str4 = <<<'MARK' 
  12. hello 
  13.  world! 
  14.   ok;$a 
  15.    puzhong! 
  16. MARK; 
  17. echo $str4."<br/>"
  18. ?> 

单引号和双引号的区别

1)转义区别:单引号转义情况:\\、\',其他全部原样输出

双引号转义情况:\,、\”、\n、\r、\t等

2)速度区别:单引号中不能加载变量,而双引号中可以加载变量

速度上,单引号要快于双引号

字符串的常用函数

1)计算字符串的长度

strlen():按照字符串占用的字节数来计算长度

mb_strlen():按照编码来计算字符串的长度

  1. <?php 
  2. $str = "hello"
  3. $str2 = "中国123"
  4. echo strlen($str)."<br/>"//输出5 
  5. echo strlen($str2)."<br/>";//输出9,utf8字符编码一个汉字占3个字节 
  6. echo mb_strlen($str2,"utf-8")."<br/>";//输出5,按照u8编码,计算字符的长度 
  7. ?> 

2)计算子字符串的位置函数

strpos():区分大小写进行查找子串首次的出现的位置

stripos():不分区大小写进行查找子串首次出现的位置

strrpos():区分大小写进行查找子串最后一次的出现的位置

strripos():不区分大小写进行查找子串最后一次的出现的位置

  1. <?php 
  2. $str = "aAbBcdefgAa"
  3. $char = "A"
  4. echo strpos($str$char)."<br/>";//输出1,区分大小写 
  5. echo stripos($str,$char)."<br/>";//输出0,不区分大小写 
  6. echo strrpos($str,$char)."<br/>";//输出9,区分大小写 
  7. echo strripos($str$char)."<br/>";输出10,//不区分大小写 
  8. ?> 

3)替换字符串函数

str_replace():区分大小写替换字符串中的内容

str_ireplace():不分区大小写替换字符串中的内容

strtr():成批地进行替换(可以使用数组的某种对应关系)

substr_replace():按照字符串的位置和指定的长度来替换字符串中的内容

  1. <?php 
  2. $str = "hi,Fuck"
  3. echo str_replace("fuck","f**k",$str)."<br/>";//输出:hi,Fuck,区分大小写,所以没有找到要替换的内容 
  4. echo str_ireplace("fuck""f**k"$str)."<br/>";//输出:hi,f**k,不区分大小写 
  5. $str = "男人,女人,男孩,女孩"
  6. echo strtr($strarray("男"=>"女","女"=>"男"));//输出:女人,男人,女孩,男孩 
  7. $str = "hello,webbc,welcome"
  8. echo substr_replace($str,"webxx",6,5);//输出:hello,webxx,welcome 
  9. ?> 

4)截取子字符串函数

substr():按照起始位置和指定长度来截取字符串

  1. <?php 
  2. $str = "hello,webbc,welcome!"
  3. echo substr($str,6,5)."<br/>";//输出:webbc 
  4. echo substr($str,6,-1)."<br/>";//输出:webbc,welcome,负数表示结束位置从后往前数 
  5. echo substr($str,-8,-1);//输出:welcome,负数表示起始位置从后往前数 
  6. ?> 

5)合并/拆分字符串

explode():将字符串按照某个字符拆分成数组

implode():将数组按照某个字符合并成字符串

  1. <?php 
  2. $str = "勇士,马刺,雷霆,快船,开拓者,小牛,灰熊,火箭"
  3. $arr = explode(",",$str); 
  4. var_dump($arr); 
  5. /* 
  6. 输出:array 
  7.   0 => string '勇士' (length=6) 
  8.   1 => string '马刺' (length=6) 
  9.   2 => string '雷霆' (length=6) 
  10.   3 => string '快船' (length=6) 
  11.   4 => string '开拓者' (length=9) 
  12.   5 => string '小牛' (length=6) 
  13.   6 => string '灰熊' (length=6) 
  14.   7 => string '火箭' (length=6) 
  15. */ 
  16. echo implode($arr,"-");//输出:勇士-马刺-雷霆-快船-开拓者-小牛-灰熊-火箭 
  17. ?> 

6)处理空格

ltrim():删除左导空格

rtrim():删除右导空格

trim():删除左导和右导空格

  1. <?php 
  2. $str = "  hello world  "
  3. echo ltrim($str)."a"."<br/>";//输出:hello world a 
  4. echo "a".rtrim($str)."<br/>";//输出:a hello world 
  5. echo trim($str)."<br/>";//输出:hello world 
  6. ?> 

7)字符串转义函数

addslashes():对特殊字符进行转义

stripslashes():将转义过的字符还原

  1. <?php 
  2. $str = "Is your ' name O'reilly?"
  3. $a = addslashes($str); 
  4. echo $a;//输出:Is your \' name O\'reilly? 
  5. echo stripslashes($a);//输出:Is your ' name O'reilly? 

8)HTML和字符串的转换

htmlspecialchars():将字符串转换成HTML实体

htmlspecialchars_decode():将HTML实体转换成字符串

  1. <?php 
  2. $str = "<b>我是加粗&nbsp;&nbsp;字体</b>"
  3. echo $str//输出:我是加粗 字体 
  4. $htmlstr = htmlspecialchars($str); 
  5. echo $htmlstr;//输出:<b>我是加粗&nbsp;&nbsp;字体</b> 
  6. echo htmlspecialchars_decode($htmlstr);//输出:我是加粗 字体 
  7. ?> 

9)检索字符串

strstr():查找字符串的首次出现

substr_count():计算字串出现的次数

  1. <?php 
  2. $str = 'name@example.com'
  3. echo strstr($str'@'); //输出:@example.com 
  4. $str = 'This is a test'
  5. echo substr_count($str'is'); //输出:2 
  6. ?> 

10)字符串的转换函数

strtolower():全部转换为小写

strtoupper():全部转换为大写

ucfirst():将字符串的首字母转换为大写

ucwords():将字符串的每个单词的首字母大写

  1. <?php 
  2. $str = "i haVe a Dream"
  3. echo strtolower($str)."<br/>";//输出:i have a dream 
  4. echo strtoupper($str)."<br/>";//输出:I HAVE A DREAM 
  5. echo ucfirst($str)."<br/>";//输出:I haVe a Dream 
  6. echo ucwords($str)."<br/>";//输出:I HaVe A Dream 
  7. ?>

Tags: php字符串

分享到: