关于strcmp()函数的一点备注

0 224
  1. <?php
  2.        $str = “LAMP”;
  3.        $str1 = “LAMPBrother”;
  4.        $strc = strcmp($str,$str1);
  5.        switch ($strc){
  6.               case 1:
  7.                      echo“str > str1”;
  8.                      break;
  9.               case –1:
  10.                      echo“str < str1”;
  11.                      break;
  12.               case 0:
  13.                      echo“str=str1”;
  14.                      break;
  15.               default:
  16.                      echo“str <> str1”;
  17.        }
  18. ?>
复制代码


解析:首先要理解strcmp($str1,$str2)函数的意思,比较两个字符串的大小,比较时计算了两个字符串相差(不同)字符的个数一起作为返回
情况如下:
1、$str1==str2   返回 0
2、$str1 > str2   返回 1
3、$str1 < str2   返回 -1

注意:对于第2、3种情况,上面列出的只是返回结果的符号而已,并不是最终的结果
          最终返回结果是:   所返回的符号乘上两个字符串相比不相同的字符个数

对于本题来说, $str = “LAMP”; $str1 = “LAMPBrother”;
两个字符串不相同的字符有7个,且 $str < $str2,返回符号为 -1
所以最终返回的结果为 -7 (-1 * 7)

switch 条件判断case语句都没有匹配的,跳到default:所以执行  echo“str <> str1”;


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

最新活动

  • 体验固件
  • 正式固件

新品速递

  • Win10 专业版|企业版 激活密匙|32位&64位
  • Office 2016 Pro Plus Retail 版激活密钥(
  • Windows 10 32位|64位 专业版 key激活
Archiver|手机版|小黑屋|关于我们|
©2014  自学论坛. All rights reserved. ( 陕ICP备15001769号 )  Powered by Discuz! X3.2  
快速回复 返回顶部 返回列表