注册忘记密码

自学论坛

自学图文推荐

热门推荐:Win10Win8Win7/XPPS技术教程大全New资讯
查看: 405|回复: 0

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

[复制链接]

96

主题

105

帖子

312

积分

中级会员

Rank: 3Rank: 3Rank: 3

积分
312
发表于 2016-2-19 19:16:39 | 显示全部楼层 |阅读模式
  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”;


回复

使用道具 举报

发表回复

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

本版积分规则

快速回复 返回顶部 返回列表