Rumah > pembangunan bahagian belakang > masalah PHP > php字符串怎么进行大小写不敏感比较

php字符串怎么进行大小写不敏感比较

青灯夜游
Lepaskan: 2023-03-11 17:34:02
asal
2143 orang telah melayarinya

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

php字符串怎么进行大小写不敏感比较

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

方法1:使用strcasecmp()函数

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

strcasecmp(string $str1, string $str2)
Salin selepas log masuk

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

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

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

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

输出:

两个网址相同
Salin selepas log masuk

方法2:使用strncasecmp()函数

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

语法

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

返回值: 该函数返回:

  • - 如果两个字符串相等

  • <0 - 如果 string1 小于 string2

  • >0 - 如果 string1 大于 string2

示例:

<?php
echo strncasecmp("Hello","Hello",6);
echo "<br>";
echo strncasecmp("Hello","hELLo",6);
?>
Salin selepas log masuk

输出:

Salin selepas log masuk

方法3:使用strnatcasecmp()函数

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

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

语法

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

返回值:

  • - 如果两个字符串相等

  • <0 - 如果 string1 小于 string2

  • >0 - 如果 string1 大于 string2

示例:

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

输出:

-1
1
Salin selepas log masuk

说明:自然算法(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);
?>
Salin selepas log masuk

输出:

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 )
Salin selepas log masuk

推荐学习:《PHP视频教程

Atas ialah kandungan terperinci php字符串怎么进行大小写不敏感比较. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan