字符串的比较

来源:互联网 发布:手机应用程序数据备份 编辑:程序博客网 时间:2024/06/18 10:26

1.使用操作符比较

     1)==和===

          对于非字符串类型,==会将非字符串操作数转换为字符串类型。

          ===不会转换,参数类型不同就返回false。

    2)<、>、<=和>=

        (1) 如果操作数中有一个数字,就会将其他参数转换为数字。

        (2)如果操作数都是字符串,会根据ASCLL码比较

         常见的ASCLL码   0-9:48-57    A-Z:65-90   a-z: 97-122

2.使用函数比较

       1)strcmp($str1,$str2)

          比较方法:按照字节ASCLL值从两个字符串的首字节开始比较,如果相等则返回下一字节比较,直至比较结束。

           相等,返回0;大于,返回1;小于,返回-1.

       2)strcasecmp($str1,$str2)  比较字符串之前,将字符串全部转换为小写。

注意 strcmp函数会将数字转换成字符串,再进行比较。

特殊情况:

$str = "LAMPBB";$str1 = "LAMP";$strc = strcmp($str,$str1);echo "$strc";

此时,$strc=1(符号位)*2(多的字符串数目)=2

$str = "LAMP";$str1 = "LAMPBrother";$strc = strcmp($str,$str1);echo "$strc";

$strc=-1(符号位)*7(多的字符串数目)=-7


运算考察

3 / 2 = ?       3 – true = ?     4 * false =  ?    5 % true = ?

 5 && false = ?       (true ==  “false”) = ?    (true === 1) = ?    

3 + “hello”  = ?      3 . “hello”  =  ?      “hello” + “world!”  =  ?

答案:

1.5  2    0    0

false true  false

3   3hello  0


  (true ==  “false”) = ?
==是比较运算符,遇见布尔值,按照布尔值比较。字符串不为空,转换为bool值为true。

比较规则

算数运算符:其他类型转换为整型、浮点型

      true转换为1,FALSE 转换为0,NULL转换为0

     字符串截取开始的数字字符,转换为整型或浮点型


逻辑运算符:其他类型转换为布尔类型

      转换为0的  false、0、0.0、 空字符串和字符串“0”、 没有成员变量的数组、没有单元的对象、特殊类型NULL


字符串连接符:其他类型转换为字符串

    NULL和false转换为空字符串


比较运算符:

     如果出现布尔类型,进行布尔类型比较。

     如果运算符左右都是字符串,进行字符串比较。

     如果出现数值和字符串,进行数值比较。


0 0
原创粉丝点击