PHP strcmp(),strncmp()和strcasecmp(),strncasecmp()函数比较两个字符串
web PHP 2019-04-16 2017 0
关于本站

“最难不过坚持”

本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作

有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339

6413269 2611 39
最新评论
https://jueru.net/
评 留言
:weixiao:
评 留言
:shuijiao: :weiqu: :zhenbang: :leng:
评 留言
:yiwen: :yiwen: :yiwen: :yiwen:
评 EasySass: could not generate CSS file. See Output panel for details.
这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
评 TP6模型事件-查询后onAfterRead不好用
文章标签更多
ThinkPHP (254)
Mysql (58)
DedeCms (33)
jQuery (67)
证件照 (1)
setInc (4)
setDec (4)
onclick (5)
打开边栏(ESC) 关闭边栏(ESC)
strcmp() 函数比较两个字符串。
注释:strcmp() 函数是二进制安全的,且对大小写敏感。

提示:该函数与 strncmp() 函数类似,不同的是,通过 strncmp() 您可以指定每个字符串用于比较的字符数。

语法
strcmp(string1,string2)
string1必需。规定要比较的第一个字符串。
string2必需。规定要比较的第二个字符串。
实例一

比较两个字符串(区分大小写,Hello 和 hELLo 输出不相同):

<?php
echo strcmp("Hello","Hello"); // 0
echo "<br>";
echo strcmp("Hello","hELLo"); // -1 ascii码 H<h
?>
实例二

不同的返回值

<?php
echo strcmp("Hello world!","Hello world!"); // 两字符串相等 // 0
echo strcmp("Hello world!","Hello"); // string1 大于 string2 // 7 多出7个字符 world!
echo strcmp("Hello world!","Hello world! Hello!"); // string1 小于 string2 // -7 少7个字符 Hello!
?>
strncmp() 函数比较两个字符串。
注释:strncmp() 是二进制安全的,且对大小写敏感。
提示:该函数与 strcmp() 函数类似,不同的是,strcmp() 没有 length 参数。 
语法
strncmp(string1,string2,length)
string1必需。规定要比较的首个字符串。
string2必需。规定要比较的第二个字符串。
length必需。规定比较中所用的每个字符串的字符数。
实例一
<?php
echo strncmp("China","China",6); // 0
echo "<br>";
echo strncmp("China","CHINA",6); // 1 ascii码 h>H
echo "<br>";
echo strncmp("China","CHINA",1); // 0 只比较1个字符 ascii码 C=C
?>
strcasecmp() 函数比较两个字符串。
提示:strcasecmp() 函数是二进制安全的,且不区分大小写。
提示:该函数与 strncasecmp() 函数类似,不同的是,通过 strncasecmp() 您可以指定每个字符串用于比较的字符数。
语法
strcasecmp(string1,string2)
string1必需。规定要比较的第一个字符串。
string2必需。规定要比较的第二个字符串。
实例一

比较两个字符串(不区分大小写,HELLO 和 hELLo 输出相同):

<?php
echo strcasecmp("Shanghai","SHANGHAI"); // 0
echo "<br>";
echo strcasecmp("Shanghai","sHANGHai"); // 0
?>
实例二

不同的返回值

<?php
echo strcasecmp("Hello world!","HELLO WORLD!"); // 两字符串相等 // 0
echo strcasecmp("Hello world!","HELLO"); // string1 大于 string2 // 7
echo strcasecmp("Hello world!","HELLO WORLD! HELLO!"); // string1 小于 string2 // -7
?>
strncasecmp() 函数比较两个字符串。
注释:strncasecmp() 是二进制安全的,对大小写不敏感。
提示:该函数与 strcasecmp() 函数类似,不同的是,strcasecmp() 没有 length 参数。
strncasecmp(string1,string2,length)
string1必需。规定要比较的第一个字符串。
string2必需。规定要比较的第二个字符串。
length必需。规定每个字符串用于比较的字符数。
<?php
echo strncasecmp("China","China",6); // 0
echo "<br>";
echo strncasecmp("China","CHINA",6); // 0
?>

strnatcmp() 函数使用一种"自然"算法来比较两个字符串。
在自然算法中,数字 2 小于数字 10。在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2。
注释:该函数对大小写敏感。
实例一


<?php
echo strnatcmp("2Hello world!","10Hello world!"); // -1
echo "<br>";
echo strnatcmp("10Hello world!","2Hello world!"); // 1
?>


实例二
自然算法(strnatcmp)和常规计算机字符串排序算法(strcmp)的差异:

<?php
$arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200");
echo "标准字符串比较"."<br>";
usort($arr1,"strcmp");
print_r($arr1); // Array ( [0] => pic01 [1] => pic1 [2] => pic10 [3] => pic100 [4] => pic2 [5] => pic20 [6] => pic200 [7] => pic30 ) 

echo "<br>";

echo "自然顺序字符串比较"."<br>";
usort($arr2,"strnatcmp");
print_r($arr2); // Array ( [0] => pic01 [1] => pic1 [2] => pic2 [3] => pic10 [4] => pic20 [5] => pic30 [6] => pic100 [7] => pic200 )
?>
strnatcasecmp() 函数使用一种"自然"算法来比较两个字符串。
在自然算法中,数字 2 小于数字 10。在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2。
注释:strnatcasecmp() 对大小写不敏感。
实例一



<?php
echo strnatcasecmp("2Hello world!","10Hello WORLD!"); // -1
echo "<br>";
echo strnatcasecmp("10Hello world!","2Hello WORLD!"); // 1
?>


返回值:

函数返回:
0 - 如果两个字符串相等
<0 - 如果 string1 小于 string2
>0 - 如果 string1 大于 string2


strnatcmp(),strnatcasecmp() 函数使用一种"自然"算法来比较两个字符串。
在自然算法中,数字 2 小于数字 10。在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2。
不知道为什么会涉及大小写的问题,可能是同时兼容数字和字母的字符串比较,如果字符串中没有数字,strnatcmp()就和strcmp()一样了


版权声明:本篇文章来源于网络。 来源链接

相关推荐
php实现ZIP压缩文件解压缩,中文乱码解决方法(重要)
PHP | 2019-04-30 5611
直接上代码,具体代码里面都有注释。直接中文压缩文件解压到中文文件夹。 <?php // 需开启配置 php_zip.dll // phpinfo(); header("Content-type:text/html;charset=utf-8"); /* * $filename 被解压文件名 * $path 解压...
openssl_private_decrypt解密失败
PHP | 2019-01-16 5586
复制别人的解密程序,原程序可以解密,复制过来就不可以 一步步尝试发现,秘钥换行符有区别, 原秘钥有换行符,复制过来不知道什么时候把换行符清空了,成了一行字符串了。
评论:0条
评论加载中...
发表评论