美文网首页
php字符串基本操作

php字符串基本操作

作者: 春风之旅 | 来源:发表于2018-07-29 23:07 被阅读0次

    字符串操作

    在php开发过程中有些基础知识一时想不起来,如果同事间合作略显尴尬,小编整理了一些对字符串的基本操作的知识点供大家参考。如有误点还请指点,谢谢。
    1.字符串简介

    字符串是指由零个或多个字符串构成的一个集合,这里所说的字符主要包含以下几种类型。

    1.数字类型:1,2,3等。
    2.字母类型:a,b,c等。
    3.特殊字符型:#,¥,%等。
    4.不可见字符型:换行符(\n),回车符(\r),Tab字符(\t)等。

    其中,不可见字符是比较特殊的一组字符,它用来控制字符串格式化输出,在浏览器上不可见,只能看到字符串输出的结果。

    2.单引号和双引号的使用方法及区别

    字符串同城一串的整体作为操作对象,一般用单引号或者双引号表示一个字符。单引号和双引号在使用上有一定的区别。

    $s1 = "张三" ;  echo $s1  : 张三
    $s2 = '李四';  echo $s2 :李四
    

    对比

    $s4 = "你好s1" ;  输出: 你好张三
    $s4 = "你好s2" ;  输出:你好$s2
    

    总结:就是说双引号中的变量PHP会解析,而单引号中的变量PHP不会解析.

    3.字符串的连接符

    半角句号"."是字符串链接符,可以吧两个或两个以上的字符串链接成一个字符串.

    例如:

    <?php
    $name = "PHP";
    $name1 = "是世界上最好的语言!";
    echo $name.$name1;
    ?>
    结果为:PHP是世界上最好的语言!
    

    4.字符串操作

    4.1 去除字符串收尾空格和特殊字符方法

    1.trim()函数:去除首尾字符和特殊符,并返回处理后的字符
    2.ltrim()函数:去除字符串左边的空格和特殊字符
    3.rtrim()函数:去除字符串右边的空格和特殊字符

    例如:string trim(strimg str[,string charlist]);

    str:表示要操作的字符串对象
    charlist:可选参数,表示指定要从字符串中删除哪些字符,如果不设置则删除所有字符
    charlist可选参数:

    • \0: null,空格
    • \t: tab,制表符
    • \n: 换行符
    • \x0B: 垂直制表符
    • \r: 回车符
    • " ": 空格
      除了这些参数之外,也可以在chaarlist参数中提供要去除的特殊字符.

    4.2 字符串转义

    字符串转义、还原的方法有两种:一种是手动转义&字符串还原数据,另一种是自动转义&还原字符串数据;

    1.手动转义,还原字符串数据.

    在字需要转义的字符串前面加"\"转移符. 对于数据量较大的字符串建议使用自动转义函数转义.

    注意:手动转义的字符串可以使用 addcslashes()函数进行字符串还原.
    

    2.自动转义,还原字符串数据.

    • addslashes()函数:自动转义函数:
    • stripslashes()函数:自动还原函数:
    • addslashes()函数为字符串str加入反斜线"\"; 使用方法:string addslashes(strimg str);
    • stripslashes()函数把转义后的字符串还原;使用方法:strimg stripslashes(strimg str);

    注意:如果参数charlist中包含\n,\r等字符,讲义C语言风格转换,而其他非字母数字且ASCII码值低于32或高于126的字符均转换成八进制表示.

    4.3 获取字符串长度

    1.strlen()函数:获取字符串长度值,例如:int strlen(string str)

    说明:汉字占两个字符,数字,英文,小数点,下划线和空格占一个字符.
    

    2.strlen()函数在获取字符串长度的同时也可以检测字符串长度.

    <?
    if(strlen($_POST['pwd'])<6){        //检测是否小于6
        echo "<script>alert('用户名或密码不得小于6位!');history.back();</script>";
    }else{
        echo "用户信息合法!";
    }
    

    4.4 截取字符串

    1.substr() 函数:分割字符串 例如:string substr(string str,int start [,int length])

    • str:指定字符串对象
    • start:指定开始截取字符串的位置,如果为负数,则从字符串的末尾开始.(开始从0位置开始)
    • length:可选参数,指定截取字符的个数,如果为负,则表示渠道倒数第length个长度.
    • 连接字符:如果字符大于30个只显示前30个字符,后面用点代替
    if(strlen($text)>30){
        echo substr($text,0,30)."...";
    }else{
        echo $text;
    }
    

    注意:如果截取字符串有中文请尽量保持截取偶数个字符,如果截取的值是奇数,可能会导致字符乱码,因为一个中文字占两个字符,解决办法就是应用substr()编写一个自定义函数.

    4.5 比较字符串

    strcmp($str1,$str2) 字节大小比较区分大小写
    strcasecmp($str1,$str2) 字节大小比较不区分大小写
    
    strnatcmp($str1,$str2)  自然排序法比较区分大小写(主要是字符串中含有的数字比较,不分前后)
    strnatcasecmp($str1,$str2)  自然排序比较不区分大小写
    
    strncmp(string str1,strimg str2,int len)    指定从源字符串位置开始比较,
    len是用来比较字符串中的前n个字符
    

    PHP中常用的字符串比较方法: 按字节进行比较:strcmp()strcasecmp()函数这两个函数区别是strcmp()函数区分大小写,而strcasecmp()函数不区分字符大小写,函数strnatcmp()同上

    例如:

    $str1 = "编程使我快乐!";
    
    $str2 = "编程使我快乐!";
    
    $str3 = "teacher";
    
    $str4 = "TEACHER";
    
    echo strcmp($str1,$str2);   //这两个字符串相等
    
    echo strcmp($str3,$str4);   //该函数区分大小写
    
    echo strcasecmp($str3,$str4);   //该函数不区分大小写
    
    结果: 0   1   0
    

    分析:如果两个字符串大小相等返回0, 函数1比函数2大则返回值大于0,函数1比函数2小则返回值小于0,如果大小写不一致strcmp函数返回1,strcasecmp函数返回0,因此strcmp函数可以用于用户登录用户名和密码的验证.

    注意:自然运算中1比2小,而计算机序列中1比2大.

    4.6 检索字符串

    1.strstr()函数查找指定的关键字(区分大小写)

    语法:string strstr(string haystack,string needle);
    
    • haystack:必要参数,指定从哪个字符串中进行搜索
    • needle:必要参数,指定所搜对象,如果该参数是一个数值,那么将搜索与这个数值的ASCII值相匹配的字符.

    2.strchr()函数与其正好相反,该函数是从字符串后序的位置开始检索子串的.

    3.substr_count()函数检索子串出现的次数:语法:int substr__count(string haystack,string needle)haystack:指定字符串,needle:指定字符

    4.7 替换字符串

    替换字符串可以通过两个函数实现:

    1.str_ireplace()函数 当确定要替换的字符串时使用

    2.substr_replace()函数 不确定要替换的字符串使用(下标)

     str_ireplace()函数
    

    语法格式如下:mixed str_ireplace(mixed search,mixed replace,mixed subject [,int &count]),使用新的字符串(子串)替换原始字符串中被指定要替换的字符串。

    说明:将所有在参数subject中出现的参数search以参数replace取代,参数count表示取代字符串执行的次数,本函数不区分大小写。如果要区分大小写可以使用 str_replace函数

    substr_replace()函数
    

    语法:string substr_replace(string str,string repl,int start,[int length])

    说明:如果参数start设为负数,而参数length数值小于或等于start数值,那么length的值自动为0。

    • str:原始字符串
    • repl:替换后的新字符串
    • start:制定替换字符串开始位置。正数从开头开始,负数从末尾开始,0表示从起始位置第一个字符
    • length:可选参数,表示替换的长度,默认值是整个字符串,正数表示起始位置从字符串开头开始,负数表示起始位置从字符串末尾开始,0表示插入而非替代。

    4.8 字符串格式化

    php中字符串格式化分为多种,按照格式分为字符串格式化和数字字符串格式化。数字字符串格式化最常用。

    number_format()函数用来将数字字符串格式化
    

    语法:string number_format(float number [int num_decimal_places,][string dec_seperator,string thousands_separator]);

    注意:该函数有4个参数:可以有1个,2个,4个。不能只给3个。

    1.$number:舍去小数点后面值,且第三位数字以逗号隔开。
    2.num_decimal_places:(可选)格式化到小数点后第num_decimal_places位。且每3位用逗号分开,
    3.dec_seperator:用来替代小数点'.';
    4.thousands_seperator:用来替代第3位数字隔开的逗号(,)。

    例如:

    $number = 111555444.3306;
    echo number_format($number,2,'.','.');
    

    一个参数的值:111,555,444
    两个参数的值:111,555,444.33
    四个参数的值:111.555.444.33

    4.9分割字符串

    explode()函数:分割字符串,该函数将按照指定的规则对字符串进行分割,返回值为数组。

    语法格式:array explode(string separator,string str[,int (limit)]);
    

    1.separator:必要参数,指定分割的标识符,如果为空返回false,如果separator包含的值在str中找不到,那么explode函数将返回包含str单个元素的数组。
    2.str:必要参数,指定将要被进行分割的字符串。
    3.limit:可选参数,如果设置了limit参数,则返回的数组包含最多limit个元素,而最后的元素将包含str的剩余部分,如果limit参数是负数,则返回除了最后一个limit个元素外的所有元素。

    5.0合成字符串

    implode()函数:可以将数组中的内容合成一个新字符串。

    语法格式如下:string implode(string glue,array pieces)

    1.glue:字符串类型,指定分隔符
    2.pieces:数组配型,指定要被合并的数组。
    说明:explode()函数和implode()函数是两个相对的函数,一个用于拆分一个用于合成。

    以上是对字符串的基本操作分类的各种函数,重点

    相关文章

      网友评论

          本文标题:php字符串基本操作

          本文链接:https://www.haomeiwen.com/subject/qjotvftx.html