设为首页 收藏本站
查看: 815|回复: 0

[经验分享] PHP字符串处理(3)-字符串的比较、替换和加密

[复制链接]

尚未签到

发表于 2015-8-29 10:14:05 | 显示全部楼层 |阅读模式
  原文:
  http://www.tacsoft.cn/3rd.php?blogid=1&pid=196
  
PHP字符串处理(3)-字符串的比较、替换和加密
06-06 by peng
1.比较运算符
一般运算符“!=”或“==”可以用于比较两个对象是否相等,这包括字符串或者非字符串,例如数组等。
例 6-5.php
<?php$a = "good";$b = "good"; if ($a != $b){echo "不相等";}else{echo "相等";}?>
运行结果
例 6-6.php
<?php$a = "good";$b = "Good"; if ($a != $b){echo "不相等";}else{echo "相等";}?>
运行结果
2.使用比较函数比较字符串
strcmp(),比较区分大小写的字符串。
strcasecmp(),比较不区分大小的字符串比较。
strcmp()函数内的两个字符串按照字节的ASCII码值进行比较,如果前者表后者大,则返回大于0的整数,如果前者比后者小,则返回小于0的整数,如果相等则返回0。
例 6-7.php
      1 <?php2         echo strcmp("abcdd", "aBcde");3         echo "<br>";4         echo strcmp("abCde", "abcde");5         echo "<br>";6         echo strcmp("abcde", "abcde");7 ?>
运行结果
3.选择性比较字符串
strncmp()和上一节介绍的strcmp()的区别就是可以指定比较的长度,例如比较前三个字符。
例 6-8.php
<?phpecho strncmp("abcde", "aBcde", 4);echo "<br>";echo strncmp("abcdE", "abcde", 4);?>
运行结果
运行结果
程序说明:在比较函数中有一个整数值4,代表比较的字符序数。
4.字符串的查找和匹配
strstr()和strrchr函数可以查找字符串。
语法格式
string strstr(string $haystack,string $needle)
string strrchr(string $haystack,string $needle)
参数$haystack为被查找字符串,参数$needle为要查找字符串。两个函数使用方法完全相同,但作用有所区别,strstr()函数用来查找要查找在被查找字符串中第一次出现的位置,并且返回从此位置开始到被查找字符串结束的部分。strrchr()函数查找字符串在被查找字符串中最后一次出现的位置,并返回从此位置开始到被查找字符串结束的字符串。
例 6-9.php
     1 <?2         $needle = "you";3         $str = "I love you!";4         if (strstr($str, $needle)){5                 echo "第一个字符串里面有 $needle<br>";6                 }7         else8         {9                 echo "第一个字符串里面没有 $needle<br>";10         }11         $needle = "b";12         $str1 = "acdefg";   13         if (strrchr ($str1, $needle)) {14     15                 echo "<br>第二个字符串里面有 $needle";16                 }17         else18         {19                  echo "<br>第二个字符串里面没有 $needle<br>";20         }21 ?>
运行结果
5.查找字符串出现的位置
substr_count()用于查找字符串出现的次数,语法结构如下:
int substr_count(string $haystack,string $needle[,int $offset[,int $length]]
substr_count()用来统计参数$needle在另一个参数$haystack中出现的次数,可选参数$offset和$length分别表示查找的起点和长度并且返回一个整数。
例 6-10.php
      1 <?php2         $text = 'President Barack Obama and President Nicolas Sarkozy of France listened to national anthems during a ceremony in Caen, France, on Saturday.';3         echo strlen($text)."<br>";4         echo substr_count($text, 'an')."<br>";5         echo substr_count($text, 'an', 10)."<br>";6         echo substr_count($text, 'an', 10, 20)."<br>";7 ?>
运行结果
程序说明:第3行输出整个字符串的长度,第4行统计an在变量$test中出现的次数,第5行从第10个字符开始统计an出现的次数,第6行查找第10个字符后20个字符中是否出现an。
6.字符串的替换
str_replace函数用于字符串替换,语法结构如下:
string str_replace(string $str1,string $str2,string $str2)
参数为要替换的字符串,参数$str2为新字符串,参数$str3为原字符串。函数的作用是将原字符串$str3中字符串$str1,用新字符串$str2替换。
例 6-11.php 使用函数str_replace()替换语句中的isn’t为is,另外将$str中的特殊字符替换为换行符。
      1 <?php2         echo str_replace("isn't", "is", "The short-odds favorite isn't a safe bet");3 4         echo "<br>";5         $str = "Line one\nLine two\rLine three\r\nLine four\n";6         $order = array("\r\n", "\n", "\r");7         $replace = '<br />';8         $newstr = str_replace($order, $replace, $str);9         echo $newstr;10 ?>
运行结果
程序说明:第2行将字符串isn’t替换为is。第3-6行定义变量$str,第7行替换特殊字符为换行符。
7.MD5算法
注:MD5 Message-Digest algotithm 5。MD5通常可以理解为是一种加密算法,在计算机领域有着很广泛的应用。
MD5语法格式:
String MD(string $str)
参数$str既是要加密的字符串,函数返回经过MD5加密的密文。
例 6-12.php
      1 <?php2         $encrypt = '999999';3         echo "明文字符串:$encrypt <br />";4         $md_text = MD5 ($encrypt);5         echo "MD5加密后的值为:$md_text";6 ?>
运行结果
文章说明:PHP有很多处理字符串的方法和函数,我们只能介绍一些常用的函数,本站将逐步搜集整理更多函数和它们的用法,以后介绍给各位读者。作者信箱:peng@tacsoft.cn,欢迎来信,谢谢大家。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-105809-1-1.html 上篇帖子: 在windows下添加php的Imagick扩展 下篇帖子: php抽象类和接口
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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