Hướng dẫn how do you check if a string is equal to another string in php? - làm thế nào để bạn kiểm tra xem một chuỗi có bằng một chuỗi khác trong php?

Trong bài viết này, chúng ta sẽ thấy so sánh chuỗi bằng cách sử dụng hàm vận hành bằng (==) & strcmp () trong PHP, cùng với việc hiểu được việc triển khai của chúng thông qua ví dụ.

Toán tử PHP ==: Toán tử so sánh có tên Toán tử bằng nhau là dấu hiệu gấp đôi dấu hiệu ==. Toán tử này chấp nhận hai đầu vào để so sánh và trả về giá trị thực nếu cả hai giá trị đều giống nhau (nó so sánh giá trị duy nhất của biến, không phải loại dữ liệu) và trả về giá trị sai nếu cả hai giá trị không giống nhau. & NBSP ;: The comparison operator called Equal Operator is the double equal sign “==”. This operator accepts two inputs to compare and returns a true value if both of the values are the same (It compares the only value of the variable, not data types) and returns a false value if both of the values are not the same. 

Điều này phải luôn luôn nhớ rằng toán tử bình đẳng hiện tại == khác với toán tử gán =. Toán tử gán gán biến ở bên trái để có giá trị mới là biến bên phải, trong khi toán tử bằng nhau == kiểm tra cho bình đẳng và trả về true hoặc false theo kết quả so sánh.

Ví dụ: Ví dụ này mô tả so sánh chuỗi bằng toán tử ==. & NBSP; This example describes the string comparison using the == operator. 

PHP

<?php

  $name1

strcmp( $string1, $string2 )
0
strcmp( $string1, $string2 )
1
strcmp( $string1, $string2 )
2

  

strcmp( $string1, $string2 )
4
strcmp( $string1, $string2 )
0
strcmp( $string1, $string2 )
1
strcmp( $string1, $string2 )
2

  

strcmp( $string1, $string2 )
9
Both strings are not equal
0____9
Both strings are not equal
2
strcmp( $string1, $string2 )
4
Both strings are not equal
4

Both strings are not equal
5
Both strings are not equal
6
Both strings are not equal
7
strcmp( $string1, $string2 )
2

  

// Using the == operator, Strings match is printedif('string1' == 'string1'){    echo 'Strings match.';} else {    echo 'Strings do not match.';}
0

  

// Using the == operator, Strings match is printedif('string1' == 'string1'){    echo 'Strings match.';} else {    echo 'Strings do not match.';}
2
// Using the == operator, Strings match is printedif('string1' == 'string1'){    echo 'Strings match.';} else {    echo 'Strings do not match.';}
3

Both strings are not equal
5
Both strings are not equal
6
// Using the == operator, Strings match is printedif('string1' == 'string1'){    echo 'Strings match.';} else {    echo 'Strings do not match.';}
6
strcmp( $string1, $string2 )
2

  

// Using the == operator, Strings match is printedif('string1' == 'string1'){    echo 'Strings match.';} else {    echo 'Strings do not match.';}
0

// Using the == operator, Strings do not match is printedif('string1' == 'STRING1'){    echo 'Strings match.';} else {    echo 'Strings do not match.';}
0

Output:

Both the strings are equal

Hàm php strcmp (): strcmp () là một hàm sẵn có trong PHP được sử dụng để so sánh hai chuỗi. Chức năng này nhạy cảm trường hợp, chỉ ra rằng vốn và các trường hợp nhỏ sẽ được đối xử khác nhau, trong quá trình so sánh. Hàm này so sánh hai chuỗi và cho biết chuỗi đầu tiên lớn hơn hay nhỏ hơn hay bằng chuỗi thứ hai. Hàm này là so sánh chuỗi an toàn nhị phân.: The strcmp() is an inbuilt function in PHP that is used to compare two strings. This function is case-sensitive which points that capital and small cases will be treated differently, during comparison. This function compares two strings and tells whether the first string is greater or smaller or equals the second string. This function is binary-safe string comparison.

Syntax:

strcmp( $string1, $string2 )

Tham số: Hàm này chấp nhận hai tham số như đã đề cập ở trên và được mô tả dưới đây: This function accepts two parameters as mentioned above and described below:

  • $ String1: Tham số này đề cập đến chuỗi đầu tiên được sử dụng trong so sánh. Đó là một tham số bắt buộc. This parameter refers to the first string to be used in the comparison. It is a mandatory parameter.
  • $ String2: Tham số này đề cập đến chuỗi thứ hai sẽ được sử dụng trong so sánh. Đó là một tham số bắt buộc. This parameter refers to the second string to be used in the comparison. It is a mandatory parameter.

Giá trị trả về: Hàm trả về giá trị số nguyên ngẫu nhiên tùy thuộc vào điều kiện của trận đấu, được đưa ra bởi: & nbsp; The function returns a random integer value depending on the condition of the match, which is given by: 

  • Trả về 0 nếu các chuỗi bằng nhau.
  • Trả về một giá trị âm (<0), nếu $ String2 lớn hơn $ String1.
  • Trả về một giá trị dương (> 0) nếu $ String1 lớn hơn $ String2.

Ví dụ: Ví dụ này minh họa so sánh chuỗi bằng hàm strcmp (). This example illustrates the string comparison using the strcmp() function.

PHP

<?php

  $name1

strcmp( $string1, $string2 )
0
strcmp( $string1, $string2 )
1
strcmp( $string1, $string2 )
2

  

strcmp( $string1, $string2 )
4
strcmp( $string1, $string2 )
0
strcmp( $string1, $string2 )
1
strcmp( $string1, $string2 )
2

  

strcmp( $string1, $string2 )
9
Both strings are not equal
0____9
Both strings are not equal
2
strcmp( $string1, $string2 )
4
Both strings are not equal
4

Both strings are not equal
5
Both strings are not equal
6
// Using the == operator, Strings match is printedif('string1' == 'string1'){    echo 'Strings match.';} else {    echo 'Strings do not match.';}
6
strcmp( $string1, $string2 )
2

  

// Using the == operator, Strings match is printedif('string1' == 'string1'){    echo 'Strings match.';} else {    echo 'Strings do not match.';}
0

  

// Using the == operator, Strings match is printedif('string1' == 'string1'){    echo 'Strings match.';} else {    echo 'Strings do not match.';}
2
// Using the == operator, Strings match is printedif('string1' == 'string1'){    echo 'Strings match.';} else {    echo 'Strings do not match.';}
3

Both strings are not equal
5
Both strings are not equal
6
Both strings are not equal
7
strcmp( $string1, $string2 )
2

  

// Using the == operator, Strings match is printedif('string1' == 'string1'){    echo 'Strings match.';} else {    echo 'Strings do not match.';}
0

// Using the == operator, Strings do not match is printedif('string1' == 'STRING1'){    echo 'Strings match.';} else {    echo 'Strings do not match.';}
0

Output:

Both strings are not equal

Reference:

  • http://php.net/manual/en/language.operators.comparison.php
  • http://php.net/manual/en/function.strcmp.php

  

// Using the == operator, Strings match is printedif('string1' == 'string1'){    echo 'Strings match.';} else {    echo 'Strings do not match.';}
2
// Using the == operator, Strings match is printedif('string1' == 'string1'){    echo 'Strings match.';} else {    echo 'Strings do not match.';}
3


Trong bất kỳ loại lập trình nào, bạn sẽ luôn có các tình huống mà bạn cần so sánh các giá trị với nhau, nếu các giá trị là boolean hoặc số nguyên thì so sánh rất đơn giản. Nhưng nếu bạn muốn so sánh các chuỗi hoặc các phần của chuỗi thì có thể có nhiều hơn để so sánh như trường hợp của chuỗi bạn đang so sánh. Trong hướng dẫn này, chúng tôi sẽ xem xét tất cả các cách khác nhau mà bạn có thể so sánh các chuỗi trong PHP bằng cách sử dụng một số hàm được tích hợp trong các hàm PHP.

== Toán tử

Cách phổ biến nhất mà bạn sẽ thấy về việc so sánh hai chuỗi chỉ đơn giản là bằng cách sử dụng toán tử == nếu hai chuỗi bằng nhau thì nó trả về đúng.

// Using the == operator, Strings match is printedif('string1' == 'string1'){    echo 'Strings match.';} else {    echo 'Strings do not match.';}

Mã này sẽ trả về rằng các chuỗi khớp, nhưng điều gì sẽ xảy ra nếu các chuỗi không nằm trong trường hợp tương tự, nó sẽ không khớp. Nếu tất cả các chữ cái trong một chuỗi ở chữ hoa thì điều này sẽ trả về sai và các chuỗi không khớp.

// Using the == operator, Strings do not match is printedif('string1' == 'STRING1'){    echo 'Strings match.';} else {    echo 'Strings do not match.';}

Điều này có nghĩa là chúng ta không thể sử dụng toán tử == khi so sánh các chuỗi từ đầu vào của người dùng, ngay cả khi chữ cái đầu tiên ở chữ hoa, nó vẫn sẽ trả về sai. Vì vậy, chúng tôi cần sử dụng một số chức năng khác để giúp so sánh các chuỗi.

Hàm strcmp

Một cách khác để so sánh các chuỗi là sử dụng hàm PHP STRCMP, đây là hàm so sánh chuỗi an toàn nhị phân sẽ trả về 0 nếu các chuỗi khớp.strcmp, this is a binary safe string comparison function that will return a 0 if the strings match.

// strcmp function, Strings match is printedif(strcmp('string1', 'string1') == 0){     echo 'Strings match.';} else {     echo 'Strings do not match.';}

Điều này nếu câu lệnh sẽ trả về true và echo rằng các chuỗi khớp. Nhưng hàm này là trường hợp nhạy cảm, vì vậy nếu một trong các chuỗi có chữ in hoa thì hàm sẽ không trả về 0.

Chức năng strcasecmp

Các ví dụ trước sẽ không cho phép bạn so sánh các chuỗi trường hợp khác nhau, hàm sau sẽ cho phép bạn so sánh các chuỗi không nhạy cảm trường hợp.

// Both strings will matchif(strcasecmp('string1', 'string1') == 0){     echo 'Strings match.';} else {     echo 'Strings do not match.';} // Both strings will match even with different caseif(strcasecmp('string1', 'String1') == 0){     echo 'Strings match.';} else {     echo 'Strings do not match.';} // Both strings will match even with different caseif(strcasecmp('string1', 'STRING1') == 0){     echo 'Strings match.';} else {     echo 'Strings do not match.';}

Tất cả những điều này nếu các câu lệnh sẽ trả về rằng các chuỗi khớp, điều đó có nghĩa là chúng ta có thể sử dụng chức năng này khi so sánh các chuỗi được người dùng nhập vào.

Làm thế nào để bạn kiểm tra xem một chuỗi có bằng một chuỗi khác không?

Phương thức bằng () so sánh hai chuỗi và trả về true nếu các chuỗi bằng nhau và sai nếu không. Mẹo: Sử dụng phương thức so sánh () để so sánh hai chuỗi từ vựng. compares two strings, and returns true if the strings are equal, and false if not. Tip: Use the compareTo() method to compare two strings lexicographically.

Tôi có thể sử dụng == để so sánh hai chuỗi không?

Bạn không nên sử dụng == (toán tử bình đẳng) để so sánh các chuỗi này vì chúng so sánh tham chiếu của chuỗi, tức là chúng có cùng một đối tượng hay không.Mặt khác, phương thức bằng () so sánh liệu giá trị của các chuỗi có bằng nhau hay không là chính đối tượng. because they compare the reference of the string, i.e. whether they are the same object or not. On the other hand, equals() method compares whether the value of the strings is equal, and not the object itself.

Có === trong PHP không?

== Toán tử: Toán tử này được sử dụng để kiểm tra các giá trị đã cho bằng hoặc không.Nếu có, nó trả về đúng, nếu không nó sẽ trả về sai.=== Toán tử: Toán tử này được sử dụng để kiểm tra các giá trị đã cho và kiểu dữ liệu của nó bằng hoặc không. Nếu có, nó trả về đúng, nếu không nó sẽ trả về sai.=== Operator: This operator is used to check the given values and its data type are equal or not. If yes, then it returns true, otherwise it returns false.

Bạn có thể làm == trên dây không?

Trong chuỗi, toán tử == được sử dụng để so sánh tham chiếu của các chuỗi đã cho, tùy thuộc vào việc chúng có đề cập đến cùng một đối tượng hay không.Khi bạn so sánh hai chuỗi bằng toán tử ==, nó sẽ trả về true nếu các biến chuỗi đang hướng về cùng một đối tượng Java.Nếu không, nó sẽ trả về sai.the == operator is used to comparing the reference of the given strings, depending on if they are referring to the same objects. When you compare two strings using == operator, it will return true if the string variables are pointing toward the same java object. Otherwise, it will return false .