Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menentukan sama ada dua rentetan adalah sama dalam php
5 kaedah: 1. Gunakan "String 1==String 2", jika benar dikembalikan, ia adalah sama. 2. Gunakan "strcmp(String 1, String 2)". Jika nilai pulangan ialah 0, ia adalah sama. 3. Gunakan "strcasecmp(String 1, String 2)", jika nilai pulangan ialah 0, ia adalah sama. 4. Gunakan "strncasecmp(rentetan 1, rentetan 2, bilangan aksara)". 5. Gunakan "strncmp(String 1, String 2, Number of characters)".
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3
Tentukan sama ada dua rentetan adalah sama? Terdapat berbilang fungsi terbina dalam PHP untuk mencapai ini:
strcmp()
strcasecmp()
strncasecmp()
strncmp()
Anda juga boleh menggunakan operator kesamaan "==" sebagai perbandingan. Mari lihat di bawah:
1 Gunakan operator "==" untuk membandingkan sama ada rentetan adalah sama
"==" bermaksud "sama". , Adakah operator perbandingan yang digunakan untuk membandingkan sama ada ungkapan atau pembolehubah pada kedua-dua belah tanda sama adalah sama.
<?php header("Content-type:text/html;charset=utf-8"); $pwd1 = 'password'; $pwd2 = 'Password'; if($pwd1==$pwd2){ echo '密码不匹配!'; } else { echo '密码匹配!'; } ?>
2 Gunakan fungsi strcmp() untuk membandingkan sama ada rentetan adalah sama
strcmp(): Bandingkan dua. aksara Rentetan (sensitif huruf besar-besaran).
strcmp(字符串1,字符串2)
Nilai pulangan dibahagikan kepada 3 situasi:
- Jika dua rentetan adalah sama
- jika <code>字符串1
kurang daripada 字符串2
>0
- jika <code>字符串1 lebih besar daripada 字符串2
Anda hanya perlu menyemak sama ada nilai pulangan fungsi strcmp() adalah sama dengan 0 untuk mengetahui sama ada dua rentetan adalah sama.
<?php header("Content-type:text/html;charset=utf-8"); $pwd1 = 'password'; $pwd2 = 'Password'; if(strcmp($pwd1, $pwd2) != 0){ echo '密码不匹配!'; } else { echo '密码匹配!'; } ?>
Perhatikan bahawa untuk fungsi strcmp(), dua rentetan yang hendak dibandingkan mesti sepadan dengan tepat untuk dianggap sama. Sebagai contoh, $pwd1 dan $pwd2 dalam kod contoh adalah berbeza. Jika anda ingin membandingkan dua rentetan dalam cara yang tidak peka huruf besar-besaran, anda boleh menggunakan fungsi strcasecmp().
3. Gunakan fungsi strcasecmp() untuk membandingkan sama ada rentetan adalah sama
Fungsi strcasecmp() dalam PHP mempunyai fungsi yang serupa dengan fungsi strcmp() dan boleh kedua-duanya membandingkan dua rentetan, perbezaannya ialah fungsi strcasecmp() tidak peka huruf besar-kecil apabila membandingkan rentetannya adalah seperti berikut:
strcasecmp($str1,$str2)
Menurut hasil perbandingan,
Jika $str1 kurang daripada $str2, nilai pulangan ialah 0;
Jika $str1 bersamaan dengan $str2, kembalikan 0.
Anda hanya perlu menyemak sama ada nilai pulangan fungsi strcasecmp() adalah sama dengan 0 untuk mengetahui sama ada dua rentetan adalah sama.
<?php header("Content-type:text/html;charset=utf-8"); $url1 = 'http://www.php.cn/'; $url2 = 'HTTP://www.php.cn/'; if(strcasecmp($url1, $url2) == 0){ echo '两个网址相同'; } else { echo '两个网址不同'; } ?>
4 Gunakan fungsi strncasecmp() untuk membandingkan rentetan untuk kesamaan
fungsi strncasecmp() membandingkan dua aksara String. (tidak sensitif huruf besar-besaran). Fungsi ini serupa dengan fungsi strcasecmp(), kecuali strcasecmp() tidak mempunyai parameter panjang (bilangan aksara untuk setiap rentetan untuk dibandingkan tidak boleh ditentukan).
Nilai pulangan adalah sama dengan fungsi strcasecmp()
strncasecmp(string1,string2,length)
参数 | 描述 |
---|---|
string1 | 必需。规定要比较的第一个字符串。 |
string2 | 必需。规定要比较的第二个字符串。 |
length | 必需。规定每个字符串用于比较的字符数。 |
<?php header("Content-type:text/html;charset=utf-8"); $url1 = 'http://www.php.cn/'; $url2 = 'HTTP://www.php.cn/'; if(strncasecmp($url1, $url2,18) == 0){ echo '两个网址相同'; } else { echo '两个网址不同'; } ?>
5 () berfungsi untuk membandingkan aksara Sama ada rentetan adalah sama
fungsi strncmp() membandingkan dua rentetan (sensitif huruf besar-besaran). Fungsi ini serupa dengan fungsi strcmp(), kecuali strcmp() tidak mempunyai parameter panjang (bilangan aksara untuk setiap rentetan yang hendak dibandingkan tidak boleh ditentukan).
返回值和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 Bagaimana untuk menentukan sama ada dua rentetan adalah sama dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!