php字符串教程学习

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

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

字符串的定义

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

  • ?
  • 1
  • 2
  • 3
  • 4
  • <?php
  • $str = "hello";
  • $str = 'hello';
  • >?
  • heredoc和nowdoc定义大段字符串

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

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

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

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

    字符串的常用函数

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

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

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

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

    str_replace():区分大小写替换字符串中的内容
    str_ireplace():不分区大小写替换字符串中的内容
    strtr():成批地进行替换(可以使用数组的某种对应关系)
    substr_replace():按照字符串的位置和指定的长度来替换字符串中的内容

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

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

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

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

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

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

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • <?php
  • $str = "  hello world  ";
  • echo ltrim($str)."a"."<br/>";//输出:hello world a
  • echo "a".rtrim($str)."<br/>";//输出:a hello world
  • echo trim($str)."<br/>";//输出:hello world
  • ?>
  • 7)字符串转义函数

    addslashes():对特殊字符进行转义
    stripslashes():将转义过的字符还原

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • <?php
  • $str = "Is your ' name O'reilly?";
  • $a = addslashes($str);
  • echo $a;//输出:Is your \' name O\'reilly?
  • echo stripslashes($a);//输出:Is your ' name O'reilly?
  • 8)HTML和字符串的转换

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

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

    strstr():查找字符串的首次出现
    substr_count():计算字串出现的次数

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • <?php
  • $str = 'name@example.com';
  • echo strstr($str, '@'); //输出:@example.com
  • $str = 'This is a test';
  • echo substr_count($str, 'is'); //输出:2
  • ?>
  • 10)字符串的转换函数

    strtolower():全部转换为小写
    strtoupper():全部转换为大写
    ucfirst():将字符串的首字母转换为大写
    ucwords():将字符串的每个单词的首字母大写

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • <?php
  • $str = "i haVe a Dream";
  • echo strtolower($str)."<br/>";//输出:i have a dream
  • echo strtoupper($str)."<br/>";//输出:I HAVE A DREAM
  • echo ucfirst($str)."<br/>";//输出:I haVe a Dream
  • echo ucwords($str)."<br/>";//输出:I HaVe A Dream
  • ?>
  • 希望本文所述对大家PHP程序设计有所帮助。

    原文链接:https://blog.csdn.net/baochao95/article/details/51878148

    标签: