字符串的比较

本文详细介绍了PHP中各种比较操作符(如==, ===, <, >等)的使用方法及其特点,并深入探讨了如何利用这些操作符进行有效的数值与字符串比较。此外,还介绍了使用函数strcmp和strcasecmp进行字符串比较的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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转换为空字符串


比较运算符:

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

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

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值