如何将PHP字符串大小写不敏感比较转换为长尾词?

2026-04-06 09:551阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1002个文字,预计阅读时间需要5分钟。

如何将PHP字符串大小写不敏感比较转换为长尾词?

方法:1. 使用strcasecmp(string1, string2)语句;2. 使用strncasecmp(string1, string2, length)语句;3. 使用strnatcasecmp(string1, string2)语句。

操作环境:Windows 7系统、PHP 7.1版本、DELL G3电脑。

方法:1、用“strcasecmp(string1,string2)”语句;2、用“strncasecmp(string1,string2,length)”语句;3、用“strnatcasecmp(string1,string2)”语句。

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

方法1:使用strcasecmp()函数

strcasecmp() 函数在比较字符串时不会区分大小写,其语法格式如下:

strcasecmp(string $str1, string $str2)

其中,$str1 和 $str2 分别是要比较的两个字符串。

根据比较结果,如果 $str1 小于 $str2,则返回值 < 0;如果 $str1 大于 $str2,则返回值 > 0;如果 $str1 于 $str2 相等,则返回 0

网站的网址都是不区分大小写的,因此我们可以使用 strcasecmp() 函数来比较两个网址是否相同,示例代码如下:

<?php header("Content-type:text/html;charset=utf-8"); $url1 = 'www.php.cn/'; $url2 = 'HTTPS://www.php.cn/'; if(strcasecmp($url1, $url2) == 0){ echo '两个网址相同'; } else { echo '两个网址不同'; } ?>

输出:

两个网址相同

方法2:使用strncasecmp()函数

strncasecmp() 函数比较两个字符串(不区分大小写)。

语法

strncasecmp(string1,string2,length)参数描述string1必需。规定要比较的第一个字符串。string2必需。规定要比较的第二个字符串。length必需。规定每个字符串用于比较的字符数。

返回值: 该函数返回:

  • 0 - 如果两个字符串相等

  • <0 - 如果 string1 小于 string2

  • >0 - 如果 string1 大于 string2

示例:

<?php echo strncasecmp("Hello","Hello",6); echo "<br>"; echo strncasecmp("Hello","hELLo",6); ?>

输出:

0 0

方法3:使用strnatcasecmp()函数

strnatcasecmp() 函数使用一种"自然"算法来比较两个字符串(不区分大小写)。

在自然算法中,数字 2 小于数字 10。在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2。

语法

如何将PHP字符串大小写不敏感比较转换为长尾词?

strnatcasecmp(string1,string2)参数描述string1必需。规定要比较的第一个字符串。string2必需。规定要比较的第二个字符串。

返回值:

  • 0 - 如果两个字符串相等

  • <0 - 如果 string1 小于 string2

  • >0 - 如果 string1 大于 string2

示例:

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

输出:

-1 1

说明:自然算法(strnatcmp)和常规计算机字符串排序算法(strcmp)的不同

<?php $arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200"); echo "Standard string comparison"."<br>"; usort($arr1,"strcmp"); print_r($arr1); echo "<br>"; echo "<br>"; echo "Natural order string comparison"."<br>"; usort($arr2,"strnatcmp"); print_r($arr2); ?>

输出:

Standard string comparison Array ( [0] => pic01 [1] => pic1 [2] => pic10 [3] => pic100 [4] => pic2 [5] => pic20 [6] => pic200 [7] => pic30 ) Natural order string comparison Array ( [0] => pic01 [1] => pic1 [2] => pic2 [3] => pic10 [4] => pic20 [5] => pic30 [6] => pic100 [7] => pic200 )

本文共计1002个文字,预计阅读时间需要5分钟。

如何将PHP字符串大小写不敏感比较转换为长尾词?

方法:1. 使用strcasecmp(string1, string2)语句;2. 使用strncasecmp(string1, string2, length)语句;3. 使用strnatcasecmp(string1, string2)语句。

操作环境:Windows 7系统、PHP 7.1版本、DELL G3电脑。

方法:1、用“strcasecmp(string1,string2)”语句;2、用“strncasecmp(string1,string2,length)”语句;3、用“strnatcasecmp(string1,string2)”语句。

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

方法1:使用strcasecmp()函数

strcasecmp() 函数在比较字符串时不会区分大小写,其语法格式如下:

strcasecmp(string $str1, string $str2)

其中,$str1 和 $str2 分别是要比较的两个字符串。

根据比较结果,如果 $str1 小于 $str2,则返回值 < 0;如果 $str1 大于 $str2,则返回值 > 0;如果 $str1 于 $str2 相等,则返回 0

网站的网址都是不区分大小写的,因此我们可以使用 strcasecmp() 函数来比较两个网址是否相同,示例代码如下:

<?php header("Content-type:text/html;charset=utf-8"); $url1 = 'www.php.cn/'; $url2 = 'HTTPS://www.php.cn/'; if(strcasecmp($url1, $url2) == 0){ echo '两个网址相同'; } else { echo '两个网址不同'; } ?>

输出:

两个网址相同

方法2:使用strncasecmp()函数

strncasecmp() 函数比较两个字符串(不区分大小写)。

语法

strncasecmp(string1,string2,length)参数描述string1必需。规定要比较的第一个字符串。string2必需。规定要比较的第二个字符串。length必需。规定每个字符串用于比较的字符数。

返回值: 该函数返回:

  • 0 - 如果两个字符串相等

  • <0 - 如果 string1 小于 string2

  • >0 - 如果 string1 大于 string2

示例:

<?php echo strncasecmp("Hello","Hello",6); echo "<br>"; echo strncasecmp("Hello","hELLo",6); ?>

输出:

0 0

方法3:使用strnatcasecmp()函数

strnatcasecmp() 函数使用一种"自然"算法来比较两个字符串(不区分大小写)。

在自然算法中,数字 2 小于数字 10。在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2。

语法

如何将PHP字符串大小写不敏感比较转换为长尾词?

strnatcasecmp(string1,string2)参数描述string1必需。规定要比较的第一个字符串。string2必需。规定要比较的第二个字符串。

返回值:

  • 0 - 如果两个字符串相等

  • <0 - 如果 string1 小于 string2

  • >0 - 如果 string1 大于 string2

示例:

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

输出:

-1 1

说明:自然算法(strnatcmp)和常规计算机字符串排序算法(strcmp)的不同

<?php $arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200"); echo "Standard string comparison"."<br>"; usort($arr1,"strcmp"); print_r($arr1); echo "<br>"; echo "<br>"; echo "Natural order string comparison"."<br>"; usort($arr2,"strnatcmp"); print_r($arr2); ?>

输出:

Standard string comparison Array ( [0] => pic01 [1] => pic1 [2] => pic10 [3] => pic100 [4] => pic2 [5] => pic20 [6] => pic200 [7] => pic30 ) Natural order string comparison Array ( [0] => pic01 [1] => pic1 [2] => pic2 [3] => pic10 [4] => pic20 [5] => pic30 [6] => pic100 [7] => pic200 )