zoukankan      html  css  js  c++  java
  • PHP字符串的处理(一)-字符串初识和比较

    在PHP中,字符和字节一样,共有256种不同字符的可能性,PHP对Unicode没有本地支持,一个GB2312编码的汉字占2字节,一个UTF-8编码的汉字占3字节字符串看作字符集和时,并不是真正的数组,获取字符串长度用strlen()函数,取字符串中的字符用{}

    <?php
        $str = "test";
        echo $str{0};  //输出一个字符t
        echo $str{1};  //输出一个字符e
        echo $str{2};  //输出一个字符s
        echo $str{3};  //输出一个字符t
        echo $str{1}.$str{2};  //输出两个字符es
        echo strlen($str);  //输出字符串$str的长度
        $str{strlen($str)-1} = 'q';  //把最后一个t替换成q
        $str{0} = 'admin'; //输出结果为aest
    ?>
    

    substr()函数:

    substr(string,start,length),把字符串视为数组

    string:字符串(必选)

    start:字符串开始的位置(必选)

    length:返回字符串的长度,默认是到字符串的结尾(可选)

    <?php
        echo substr("abcdef",2,3);  //输出cde
        echo substr(123456,2,4);   //输出3456
    ?>
    

    字符串比较:

    strcasecmp(str1,str2)   //忽略字符串中字母大小写进行比较

    strcmp(str1,str2)         //区分字符串中字母大小写进行比较

    对传入的str1和str2的字符串进行比较,返回三个值

    1.如果str1等于str2,返回0

    2.如果str1大于str2,返回1

    3.如果str1小于str2,返回-1

    <?php
    
        $username = "admin";
        
        if(strcasecmp($username,"admin") == 0){
            echo "用户名正确<br>";
        }else{
            echo "用户名错误<br>";
        }
        //输出:用户名正确
        
        if(strcasecmp($username,"Admin") == 0){
            echo "用户名正确<br>";
        }else{
            echo "用户名错误<br>";
        }
        //输出:用户名正确
        
        if(strcmp($username,"admin") == 0){
            echo "用户名正确<br>";
        }else{
            echo "用户名错误<br>";
        }
        //输出:用户名正确
        
        if(strcmp($username,"Admin") == 0){
            echo "用户名正确<br>";
        }else{
            echo "用户名错误<br>";
        }
        //输出:用户名错误
    ?>
    

    strnatcmp()   //按照自然排序法比较两个字符串,区分字符串大小写

    strnatcasecmp()   //按照自然排序法比较两个字符串,忽略字符串大小写

    在自然算法中,数字2小于数字10.在计算机排序中,10小于2,因为 10 中的第一个数字小于 2

    <?php echo strnatcasecmp("2test","10test"); //输出-1 ?>
    
  • 相关阅读:
    【BZOJ1495】[NOI2006]网络收费 暴力+DP
    【BZOJ2827】千山鸟飞绝 hash+堆+SBT
    【BZOJ2905】背单词 fail树+DFS序+线段树
    【BZOJ3120】Line 矩阵乘法
    【BZOJ1441】Min 拓展裴蜀定理
    【BZOJ3195】[Jxoi2012]奇怪的道路 状压DP
    【BZOJ3416】Poi2013 Take-out 栈
    【BZOJ4244】邮戳拉力赛 DP
    【BZOJ3717】[PA2014]Pakowanie 状压DP
    【BZOJ1217】[HNOI2003]消防局的设立 树形DP
  • 原文地址:https://www.cnblogs.com/sch01ar/p/7659014.html
Copyright © 2011-2022 走看看