php判断字符串相等,字符串怎么比较大小?

用户投稿 102 0

关于“php_字符串判断较后一个字符”的问题,小编就整理了【2】个相关介绍“php_字符串判断较后一个字符”的解答:

字符串怎么比较大小?

1.在比较时,设置一个计数器,从零开始,一直循环到最短的那个字符结束,一位一位进行比较。

2.如果字符串1的第n位的ASCII码值等于字符串2的第n位的ASCII码值则继续比较下一位。

3.如果字符串1的第n位的ASCII码值大于字符串2的第n位的ASCII码值则输出结果:1,表示字符串1 > 字符串2。

4.如果字符串1的第n位的ASCII码值小于字符串2的第n位的ASCII码值则输出结果:-1 表示字符串1 < 字符串2。

5.如果每一位的ASCII码值都相等,而且长度相同,则 输出结果:0 表示字符串1 == 字符串2。

对两个字符串进行比较时,要注意以下几点:

1.两个不同长度的字符串进行比较时,不是长的字符串就一定”大”。如A$一”ABCE”,B$一”ABCDEF”。对A$与B$进行比较时,A$的第4个字符是”E”,B$的第4个字符是”D”,而”D”<”E”,所以B$>A$。尽管B$比A$长。2.当字符串有空格时,空格也参加比较。如A$一”t-一ABOOK”u(表示空格),B$一”A—BOOK”,显示A$>B$。3.大写字母和小写字母的ASCII代码值是有区别的,所以,”yes”>”YEs”。4.当字符串全部用英文字母的大写(或小写)组成时,字符串的大小顺序和它们在字典中的顺序相同。5.由汉字组成的字符串可以参加比较。如”李红”<”王军”。它们的大小实际是由其拼音构成的字符串的大小来决定的。上例即:”LIHONG”<”WANGJUN”。

PHP中英文混合排版中处理字符串常用的函数?

对一段文字按照字数进行分割,因为文字中可能是中英文混合的,而php函数strlen只能计算出字串的字节数,于是自己实现了几个函数,分享下。 例1,计算字符总长度。 01 <?php 02 function ccStrLen($str) #计算中英文混合<a href="/"target="_blank" >字符串</a>的长度 03 { 04 $ccLen=0; 05 $ascLen=strlen($str); 06 $ind=0; 07 $hasCC=ereg(”[xA1-xFE]“,$str); #判断是否有汉字 08 $hasAsc=ereg(”[x01-xA0]“,$str); #判断是否有ASCII字符 09 if($hasCC && !$hasAsc) #只有汉字的情况 10 return strlen($str)/2; 11 if(!$hasCC && $hasAsc) #只有Ascii字符的情况 12 return strlen($str); 13 for($ind=0;$ind<$ascLen;$ind++) 14 { 15 if(ord(substr($str,$ind,1))>0xa0) 16 { 17 $ccLen++; 18 $ind++; 19 } 20 else 21 { 22 $ccLen++; 23 } 24 } 25 return $ccLen; 26 } 27 ?> 例2,从左侧截取字符串。 01 <?php 02 function ccStrLeft($str,$len) #从左边截取中英文混合字符串 03 { 04 $ascLen=strlen($str); if($ascLen<=$len) return $str; 05 $hasCC=ereg(”[xA1-xFE]“,$str); #同上 06 $hasAsc=ereg(”[x01-xA0]“,$str); 07 if(!$hasCC) return substr($str,0,$len); 08 if(!$hasAsc) 09 if($len & 0×01) #如果长度是奇数 10 return substr($str,0,$len+$len-2); 11 else 12 return substr($str,0,$len+$len); 13 $cind=0;$flag=0;$reallen=0;//实际取字节长 14 while($cind<$ascLen && $reallen<$len) 15 { //by

www.jbxue.com

到此,以上就是小编对于“php_字符串判断较后一个字符”的问题就介绍到这了,希望介绍关于“php_字符串判断较后一个字符”的【2】点解答对大家有用。

抱歉,评论功能暂时关闭!