Làm thế nào để PHP so sánh các chuỗi với các toán tử so sánh?

Trong bất kỳ loại lập trình nào, bạn sẽ luôn gặp các tình huống 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ì việc 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ể so sánh nhiều hơn, chẳng hạn như trường hợp của chuỗi bạn đang so sánh

Trong hướng dẫn này, chúng ta sẽ xem xét tất cả các cách khác nhau để 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 PHP tích hợp

== toán tử

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

if['string1' == 'string1']
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}

Mã này sẽ trả về các chuỗi khớp nhau, nhưng nếu các chuỗi không giống nhau thì nó sẽ không khớp. Nếu tất cả các chữ cái trong một chuỗi đều ở dạng chữ hoa thì điều này sẽ trả về false và các chuỗi không khớp.
if['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 được viết hoa, nó vẫn trả về false. Vì vậy, chúng ta 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

if[strcmp['string1', 'string1'] == 0]
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}

Câu lệnh if này sẽ trả về true và lặp lại rằng các chuỗi khớp với nhau. Nhưng hàm này phân biệt chữ hoa chữ thường nên nếu một trong các chuỗi có chữ hoa thì hàm sẽ không trả về 0

Hàm strcasecmp

Các ví dụ trước sẽ không cho phép bạn so sánh các chuỗi chữ hoa chữ thường khác nhau, hàm sau đây sẽ cho phép bạn so sánh các chuỗi không phân biệt chữ hoa chữ thường

if[strcasecmp['string1', 'string1'] == 0]
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}
if[strcasecmp['string1', 'String1'] == 0]
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}
if[strcasecmp['string1', 'STRING1'] == 0]
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}

Tất cả các câu lệnh if này sẽ trả về các chuỗi khớp nhau, có nghĩa là chúng ta có thể sử dụng hàm này khi so sánh các chuỗi do người dùng nhập vào

Toán tử bằng

if['string1' == 'STRING1']
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}
7 dùng để so sánh giá trị của các biến và toán tử trùng
if['string1' == 'STRING1']
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}
8 dùng để so sánh các biến có giá trị chuỗi và giá trị nguyên

Sau đó, chúng tôi sẽ giới thiệu hàm

if['string1' == 'STRING1']
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}
9 và so sánh các chuỗi

Sử dụng toán tử PHP
if['string1' == 'STRING1']
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}
7 để so sánh các chuỗi trong PHP

Toán tử PHP

if['string1' == 'STRING1']
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}
7, còn được gọi là Toán tử bình đẳng, có thể so sánh giá trị của các biến. Toán tử trả về false nếu các giá trị không giống nhau

Trong ví dụ dưới đây, chúng tôi sẽ so sánh các loại tiền tệ


đầu ra

The Currencies are not the same

So sánh ở trên là chính xác vì

The Currencies are not the same
1 không giống với
The Currencies are not the same
2

Sử dụng Toán tử PHP
if['string1' == 'STRING1']
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}
8 để so sánh các biến với giá trị chuỗi và giá trị số nguyên

Sẽ là tốt nhất nếu bạn tránh sử dụng toán tử

if['string1' == 'STRING1']
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}
7 để so sánh các biến có giá trị chuỗi và giá trị nguyên

Đây là lý do tại sao;

Trong mã ví dụ bên dưới, chúng ta sẽ sử dụng toán tử

if['string1' == 'STRING1']
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}
7 để so sánh một giá trị chuỗi biến
The Currencies are not the same
6 với một giá trị số nguyên
The Currencies are not the same
6


đầu ra

Về mặt kỹ thuật, đầu ra ở trên không chính xác do các loại dữ liệu khác nhau

Hãy để chúng tôi nhìn vào mã chính xác


đầu ra

if['string1' == 'STRING1']
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}
2

Đầu ra ở trên là đúng vì các giá trị của chúng tôi thuộc các loại dữ liệu khác nhau

Toán tử

if['string1' == 'STRING1']
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}
8 trả về giá trị true khi cả hai biến có cùng thông tin và kiểu dữ liệu

Sử dụng hàm
if['string1' == 'STRING1']
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}
9 để so sánh các chuỗi trong PHP

Hàm

if['string1' == 'STRING1']
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}
9 có thể so sánh các chuỗi và cho biết chuỗi thứ hai lớn hơn, nhỏ hơn hay bằng chuỗi đầu tiên

Trong bất kỳ loại lập trình nào, bạn sẽ luôn gặp các tình huống 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ì việc 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ể so sánh nhiều hơn, chẳng hạn như trường hợp của chuỗi bạn đang so sánh. Trong hướng dẫn này, chúng ta sẽ xem xét tất cả các cách khác nhau để 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 PHP tích hợp

== toán tử

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

if['string1' == 'STRING1']
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}
3

Mã này sẽ trả về các chuỗi khớp nhau, nhưng nếu các chuỗi không giống nhau thì nó sẽ không khớp. Nếu tất cả các chữ cái trong một chuỗi đều ở dạng chữ hoa thì điều này sẽ trả về false và các chuỗi không khớp

if['string1' == 'STRING1']
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}
4

Đ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 được viết hoa, nó vẫn trả về false. Vì vậy, chúng ta 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

if['string1' == 'STRING1']
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}
5

Câu lệnh if này sẽ trả về true và lặp lại rằng các chuỗi khớp với nhau. Nhưng hàm này phân biệt chữ hoa chữ thường nên nếu một trong các chuỗi có chữ hoa thì hàm sẽ không trả về 0

Hàm strcasecmp

Các ví dụ trước sẽ không cho phép bạn so sánh các chuỗi chữ hoa chữ thường khác nhau, hàm sau đây sẽ cho phép bạn so sánh các chuỗi không phân biệt chữ hoa chữ thường

if['string1' == 'STRING1']
{
     echo '
Strings match.
';
} else {
     echo '
Strings do not match.
';
}
6

Tất cả các câu lệnh if này sẽ trả về các chuỗi khớp nhau, có nghĩa là chúng ta có thể sử dụng hàm này khi so sánh các chuỗi do người dùng nhập vào

Bạn có thể sử dụng == để so sánh các chuỗi trong PHP không?

Toán tử gán chỉ định biến ở bên trái để có một giá trị mới như biến ở bên phải, trong khi toán tử bằng == kiểm tra sự bằng nhau và trả về đúng hoặc sai theo . Ví dụ. Ví dụ này mô tả so sánh chuỗi bằng toán tử ==. . Example: This example describes the string comparison using the == operator.

Chúng ta có thể so sánh hai chuỗi bằng toán tử so sánh không?

Bạn sử dụng các toán tử [so sánh] quan hệ =, , >

Chủ Đề