Rumah >pembangunan bahagian belakang >masalah PHP >Apakah fungsi untuk membandingkan rentetan dalam php

Apakah fungsi untuk membandingkan rentetan dalam php

青灯夜游
青灯夜游asal
2022-08-31 19:31:212305semak imbas

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.

Apakah fungsi untuk membandingkan rentetan dalam php

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

  • Output:

<?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.

Apakah fungsi untuk membandingkan rentetan dalam phpHasil 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.


-1
Hanya 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 = &#39;php124@qq&#39;;
$pwd2 = &#39;php124@QQ&#39;;
if(strcmp($pwd1, $pwd2) != 0){
    echo &#39;密码不匹配!&#39;;
} else {
    echo &#39;密码匹配!&#39;;
}
?>

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().

Apakah fungsi untuk membandingkan rentetan dalam php2. 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 &#39;两个网址相同&#39;;
    } else {
        echo &#39;两个网址不同&#39;;
    }
?>
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 = &#39;password&#39;;
$pwd2 = &#39;Password&#39;;
if(strncmp($pwd1, $pwd2,8) != 0){
    echo &#39;密码不匹配!&#39;;
} else {
    echo &#39;密码匹配!&#39;;
}
?>

Apakah fungsi untuk membandingkan rentetan dalam php

推荐学习:《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!

Kenyataan:
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