Rumah >pembangunan bahagian belakang >masalah PHP >Apakah fungsi untuk membandingkan rentetan dalam php
Fungsi perbandingan rentetan PHP: 1. strcasecmp(), perbandingan dua rentetan tidak peka huruf besar dan kecil; 2. strcmp(), perbandingan sensitif huruf besar bagi dua rentetan 3. strcoll( ), membandingkan dua rentetan mengikut tetapan tempatan; 4. strnatcasecmp(), yang tidak sensitif huruf besar dan menggunakan algoritma "isihan semula jadi" untuk membandingkan dua rentetan; ; Algoritma "pesanan semula jadi" untuk membandingkan dua rentetan.
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3
php mempunyai pelbagai rentetan terbina dalam Fungsi perbandingan
函数 | 描述 |
---|---|
strcasecmp() | 比较两个字符串(大小写不敏感)。 |
strcmp() | 比较两个字符串(大小写敏感)。 |
strcoll() | 比较两个字符串(根据本地设置)。 |
strnatcasecmp() | 使用一种"自然排序"算法来比较两个字符串(大小写不敏感)。 |
strnatcmp() | 使用一种"自然排序"算法来比较两个字符串(大小写敏感)。 |
strncasecmp() | 前 n 个字符的字符串比较(大小写不敏感)。 |
strncmp() | 前 n 个字符的字符串比较(大小写敏感)。 |
substr_compare() | 从指定的开始位置(二进制安全和选择性区分大小写)比较两个字符串。 |
Fungsi perbandingan rentetan yang biasa digunakan
Fungsi strcmp() --untuk membezakan Bandingkan dua rentetan dalam huruf besar dan kecil
strcmp(string1,string2)
Apabila membandingkan dua rentetan, jika:
Jika dua rentetan adalah sama, maka Akan kembali 0
;
Jika string1 kurang daripada string2, nilai akan dikembalikan; adalah lebih besar daripada string2, maka Akan mengembalikan nilai
Mari kita lihat contoh berikut dahulu: > 0
<?php $str1="12"; $str2="12"; echo strcmp($str1,$str2)."<br>"; $str1="12"; $str2="13"; echo strcmp($str1,$str2)."<br>"; $str1="15"; $str2="13"; echo strcmp($str1,$str2)."<br>"; ?>
Fungsi strcmp() adalah peka huruf besar-kecil apabila membandingkan rentetan.
Hasil keluaran:
<?php $str1="PHP中文网"; $str2="php中文网"; echo strcmp($str1,$str2)."<br>"; ?>Dengan ciri ini, kami boleh menggunakannya dalam fungsi pengesahan kata laluan pengguna semasa mendaftar akaun di tapak web (kata laluan biasanya bersaiz -sensitif) bertulis), bandingkan kata laluan yang dimasukkan dua kali untuk melihat sama ada ia konsisten.
-1Hanya jika dua rentetan sepadan dengan tepat, fungsi strcmp() akan menganggapnya sama; dalam contoh di atas, $pwd1 dan $pwd2 mempunyai kes yang berbeza, jadi kedua-dua aksara Rentetan itu ialah tidak sama.
<?php header("Content-type:text/html;charset=utf-8"); $pwd1 = 'php124@qq'; $pwd2 = 'php124@QQ'; if(strcmp($pwd1, $pwd2) != 0){ echo '密码不匹配!'; } else { echo '密码匹配!'; } ?>
Tetapi kadangkala, kita hanya perlu membandingkan nilai-nilai rentetan dan tidak mahu menjadi sensitif huruf besar, seperti membandingkan URL tapak web, jadi apakah yang perlu kita buat? Mudah, anda boleh menggunakan fungsi strcasecmp().
2. Fungsi strcasecmp() - membandingkan dua rentetan dalam cara yang tidak peka huruf besar/kecil
Fungsi strcasecmp() adalah serupa dengan fungsi strcmp(). , nilai pulangan juga adalah sama, satu-satunya perbezaan ialah fungsi strcasecmp() tidak sensitif huruf besar.Mari kita lihat contoh berikut:
Hasil output:
<?php header("Content-type:text/html;charset=utf-8"); $url1="https://www.php.cn/"; $url2="HTTPS://WWW.PHP.CN/"; if(strcasecmp($url1, $url2) == 0){ echo '两个网址相同'; } else { echo '两个网址不同'; } ?>3
两个网址相同fungsi strncasecmp() membandingkan dua rentetan (tidak sensitif huruf besar-besaran). Sintaksnya adalah seperti berikut
返回值:
0 - 如果两个字符串相等
>0 - 如果 string1 大于 string2
示例:
<?php echo strncasecmp("Hello world!","hello earth!",6); ?>
输出:
0
4、strnatcasecmp()函数--大小写不敏感
strnatcasecmp() 函数使用一种"自然"算法来比较两个字符串(不区分大小写)。
在自然算法中,数字 2 小于数字 10。在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2。
语法:
strnatcasecmp(string1,string2)
返回值:
0 - 如果两个字符串相等
>0 - 如果 string1 大于 string2
示例:
<?php echo strnatcasecmp("2Hello world!","10Hello WORLD!"); echo "<br>"; echo strnatcasecmp("10Hello world!","2Hello WORLD!"); ?>
输出:
-1 1
5、strncmp()函数--大小写敏感
strncmp() 函数比较两个字符串(区分大小写)。
该函数与 strcmp() 函数类似,不同的是,strcmp() 没有 length 参数(不能指定每个字符串用于比较的字符数)。
strncmp(string1,string2,length)
参数 | 描述 |
---|---|
string1 | 必需。规定要比较的第一个字符串。 |
string2 | 必需。规定要比较的第二个字符串。 |
length | 必需。规定每个字符串用于比较的字符数。 |
返回值和strcmp() 函数一样
<?php header("Content-type:text/html;charset=utf-8"); $pwd1 = 'password'; $pwd2 = 'Password'; if(strncmp($pwd1, $pwd2,8) != 0){ echo '密码不匹配!'; } else { echo '密码匹配!'; } ?>
推荐学习:《PHP视频教程》
Atas ialah kandungan terperinci Apakah fungsi untuk membandingkan rentetan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!