Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menentukan sama ada dua rentetan adalah sama dalam php

Bagaimana untuk menentukan sama ada dua rentetan adalah sama dalam php

青灯夜游
青灯夜游asal
2022-08-17 19:40:367366semak imbas

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

Bagaimana untuk menentukan sama ada dua rentetan adalah sama dalam php

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 = &#39;password&#39;;
$pwd2 = &#39;Password&#39;;
if($pwd1==$pwd2){
    echo &#39;密码不匹配!&#39;;
} else {
    echo &#39;密码匹配!&#39;;
}
?>

Bagaimana untuk menentukan sama ada dua rentetan adalah sama dalam php

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

Bagaimana untuk menentukan sama ada dua rentetan adalah sama dalam php

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 = &#39;http://www.php.cn/&#39;;
$url2 = &#39;HTTP://www.php.cn/&#39;;
if(strcasecmp($url1, $url2) == 0){
    echo &#39;两个网址相同&#39;;
} else {
    echo &#39;两个网址不同&#39;;
}
?>

4 Gunakan fungsi strncasecmp() untuk membandingkan rentetan untuk kesamaan Bagaimana untuk menentukan sama ada dua rentetan adalah sama dalam php

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 = &#39;http://www.php.cn/&#39;;
$url2 = &#39;HTTP://www.php.cn/&#39;;
if(strncasecmp($url1, $url2,18) == 0){
    echo &#39;两个网址相同&#39;;
} else {
    echo &#39;两个网址不同&#39;;
}
?>

5 () berfungsi untuk membandingkan aksara Sama ada rentetan adalah samaBagaimana untuk menentukan sama ada dua rentetan adalah sama dalam php

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 = &#39;password&#39;;
$pwd2 = &#39;Password&#39;;
if(strncmp($pwd1, $pwd2,8) != 0){
    echo &#39;密码不匹配!&#39;;
} else {
    echo &#39;密码匹配!&#39;;
}
?>

Bagaimana untuk menentukan sama ada dua rentetan adalah sama dalam php

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

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