Bạn đang xem : php nhỏ hơn bằng

Toán tử so sánh

Các toán tử so sánh, như tên gọi của chúng, cho phép bạn so sánh
hai giá trị. Bạn cũng có thể quan tâm đến việc xem
các bảng so sánh loại ,
khi chúng hiển thị các ví dụ về các kiểu so sánh liên quan khác nhau.

Toán tử so sánh

Thí dụ
Tên
Kết quả

$ a == $ b
Bình đẳng
true nếu $ a bằng $ b sau khi kết hợp kiểu.

$ a === $ b
Giống hệt nhau

true nếu $ a bằng $ b và chúng giống nhau
loại hình.

$ a! = $ b
Không công bằng
true nếu $ a không bằng $ b sau khi kết hợp kiểu.

$ a & lt; & gt; $ b
Không công bằng
true nếu $ a không bằng $ b sau khi kết hợp kiểu.

$ a! == $ b
Không định nghĩa

true nếu $ a không bằng $ b hoặc chúng không giống nhau
loại hình.

$ a & lt; $ b
Ít hơn
true nếu $ a hoàn toàn nhỏ hơn $ b.

$ a & gt; $ b
Lớn hơn
true nếu $ a lớn hơn $ b.

$ a & lt; = $ b
Ít hơn hoặc bằng
true nếu $ a nhỏ hơn hoặc bằng $ b.

$ a & gt; = $ b
Lớn hơn hoặc bằng
true nếu $ a lớn hơn hoặc bằng $ b.

$ a & lt; = & gt; $ b
Tàu không gian

int

nhỏ hơn, bằng hoặc lớn hơn 0 khi
$ a nhỏ hơn, bằng hoặc lớn hơn
$ b, tương ứng.

Nếu cả hai toán hạng là
chuỗi số ,
hoặc một toán hạng là một số và toán hạng kia là một
chuỗi số ,
thì việc so sánh được thực hiện ở dạng số.
Các quy tắc này cũng áp dụng cho
câu lệnh switch .
Việc chuyển đổi kiểu không diễn ra khi so sánh là
=== hoặc ! == vì điều này liên quan đến
so sánh loại cũng như giá trị.

Cảnh báo

Trước PHP 8.0.0, nếu một chuỗi được so sánh với một số
hoặc một chuỗi số thì chuỗi đó đã được chuyển đổi thành
số trước khi thực hiện so sánh. Điều này có thể dẫn đến đáng ngạc nhiên
kết quả như có thể thấy với ví dụ sau:

& lt;? php
var_dump

(

0

==

"a"

);

var_dump

(

"1"

==

< p> "01"

);

var_dump

(

"10"

==

"1e1"

);

var_dump

(

100

==

"1e2"

);

chuyển đổi (

"a"

) {
trường hợp

0

:
tiếng vang

"0"

;
break;
case

"a"

:
echo

"a"

< p>;
ngắt;
}

? & gt;

Kết quả của ví dụ trên trong PHP 7:

bool (đúng)
bool (đúng)
bool (đúng)
bool (đúng)
0

Kết quả của ví dụ trên trong PHP 8:

bool (sai)
bool (đúng)
bool (đúng)
bool (đúng)
một

& lt;? php

// Các số nguyên

echo

1

& lt; = & gt;

1

;

// 0

tiếng vọng

1

& lt; = & gt;

2

;

// -1

tiếng vang

2

& lt; = & gt;

1

;

// 1

// Pha nổi

echo

1.5

& lt; = & gt;

1.5

;

// 0

echo

1.5

& lt; = & gt;

2,5

;

// -1

echo

2.5

& lt; = & gt;

1.5

;

// 1

// Chuỗi

echo

"a"

& lt; = & gt;

"a"

;

// 0

echo

"a"

& lt; = & gt;

"b"

;

// -1

echo

"b"

& lt; = & gt;

"a"

;

// 1

echo

"a"

& lt; = & gt;

"aa"

;

// -1

tiếng vang

"zz"

& lt; = & gt;

"aa"

;

// 1

// Mảng

echo [] & lt; = & gt; [];

// 0

echo [

1

,

2

,

3

] & lt; = & gt; [

1

,

2

,

3

];

// 0

echo [

1

,

2

,

3

] & lt; = & gt; [];

// 1

echo [

1

,

2

,

3

] & lt; = & gt; [

1

,

2

,

1

];

// 1

echo [

1

,

2

,

3

] & lt; = & gt; [

1

,

2

,

4

];

// -1

// Đối tượng

$ a

= (đối tượng) [

"a"

= & gt;

"b"

];

$ b

= (đối tượng) [

"a"

= & gt;

"b"

];
echo

$ a

& lt; = & gt;

$ b

;

// 0

$ a

= (đối tượng) [

"a" < / p>

= & gt;

"b"

];

$ b

= (đối tượng) [

"a"

= & gt;

"c"

];
echo

$ a

& lt; = & gt;

$ b

;

// -1

$ a

= (đối tượng) [

"a"

= & gt;

"c"

];

$ b

= (đối tượng) [

"a"

= & gt;

"b"

];
echo

$ a

& lt; = & gt;

$ b

;

// 1

// không chỉ các giá trị được so sánh; các khóa phải khớp với

$ a

= (đối tượng) [

"a"

= & gt;

"b"

];

$ b

= (đối tượng) [

"b"

= & gt;

"b"

];
echo

$ a

& lt; = & gt;

$ b

;

// 1

? & gt;

Đối với các loại khác nhau, so sánh được thực hiện theo sau
bảng (theo thứ tự).

So sánh với các loại khác nhau

Loại toán hạng 1
Loại toán hạng 2
Kết quả

null

hoặc

string

string

Chuyển đổi null thành “”, so sánh số hoặc từ vựng

bool

hoặc

null

bất cứ điều gì
Chuyển đổi cả hai bên thành

bool

, false & lt; true

đối tượng

đối tượng

Các lớp tích hợp có thể xác định so sánh riêng của nó, các lớp khác nhau
không thể so sánh được, cùng một lớp, hãy xem So sánh đối tượng

string

,

resource

,

int

hoặc

nổi

string

,

resource

,

int

hoặc

nổi

Dịch các chuỗi và tài nguyên sang số, phép toán thông thường

mảng

mảng

Mảng có ít thành viên sẽ nhỏ hơn, nếu khóa từ toán hạng 1 thì không
được tìm thấy trong toán hạng 2 thì các mảng là không thể so sánh được, ngược lại – so sánh
giá trị theo giá trị (xem ví dụ sau)

đối tượng

bất cứ điều gì

đối tượng

luôn lớn hơn

mảng

bất cứ điều gì

mảng

luôn lớn hơn

Ví dụ # 1 so sánh Boolean / null

& lt;? php

// Bool và null luôn được so sánh như bool

var_dump

(

1

==

ĐÚNG

);

// TRUE - giống với (bool) 1 == TRUE

var_dump

(

0

==

FALSE

);

// TRUE - giống với (bool) 0 == FALSE

var_dump

(

100

& lt;

ĐÚNG

);

// FALSE - giống như (bool) 100 & lt; TRUE

var_dump

(-

10

& lt;

FALSE

);

// FALSE - giống như (bool) -10 & lt; FALSE

var_dump

(

tối thiểu

(-

100

, -

10

,

KHÔNG ĐẦY ĐỦ

,

10

< p>,

100

));

// NULL - (bool) NULL & lt; (bool) -100 là FALSE & lt; ĐÚNG

? & Gt;

Ví dụ số 2 Phiên âm về so sánh mảng chuẩn

& lt;? php

// Mảng được so sánh như vậy với các toán tử so sánh tiêu chuẩn cũng như toán tử tàu vũ trụ.

hàm

standard_array_compare

(

$ op1

,

$ op2

)
{
if (

số lượng

(

$ op1

) & lt;

đếm

(

$ op2

)) {
trở lại -

1

;

// $ op1 & lt; $ op2

} elseif (

số lượng

(

$ op1

) & gt ;

số lượng

(

$ op2

)) {
trở lại

1 < / p>

;

// $ op1 & gt; $ op2

}
foreach (

$ op1

với tư cách là

$ key

= & gt;

$ val

) {
if (!

array_key_exists

(

$ key

,

$ op2

)) {
quay lại

1

;
} elseif (

$ val

& lt;

$ op2

[

$ key

]) {
return -

1

;
} elseif (

$ val < / p>

& gt;

$ op2

[

$ key

]) {
return < / p>

1

;
}
}
quay lại

0

;

// $ op1 == $ op2

}

? & gt;

Cảnh báo

So sánh các số dấu phẩy động

Do cách float được thể hiện bên trong, bạn
không nên kiểm tra hai phao cho bằng nhau.

Xem tài liệu về float để biết thêm thông tin.

Lưu ý :

Hãy lưu ý rằng sự thay đổi kiểu của PHP không phải lúc nào cũng rõ ràng khi so sánh các giá trị của các kiểu khác nhau,
đặc biệt là so sánh int với bools hoặc int với chuỗi. Do đó, nó nói chung là
nên sử dụng các so sánh === ! == thay vì so sánh
== ! = trong hầu hết các trường hợp.

Giá trị có thể so sánh được

Trong khi so sánh danh tính ( === ! == )
có thể được áp dụng cho các giá trị tùy ý, các toán tử so sánh khác chỉ nên
áp dụng cho các giá trị có thể so sánh được. Kết quả của việc so sánh các giá trị không thể so sánh được là
không xác định, và không nên dựa vào.

Toán tử bậc ba

Một toán tử điều kiện khác là toán tử “?:” (Hoặc bậc ba).

Ví dụ # 3 Chỉ định giá trị mặc định

& lt;? php

// Ví dụ sử dụng cho: Toán tử bậc ba

$ action

= (trống (

$ _POST

[

'hành động'

]))?

'default'

:

$ _POST

[

'action'

< p>];

// Ở trên giống với câu lệnh if / else này

if (trống (

$ _POST

[

'action'

]))) {

$ action

=

'default'

;
} else {

$ action

=

$ _POST

[

'hành động'

];
}

? & gt;

(expr1)? (expr2): (expr3)
đánh giá thành

expr2

nếu

expr1

đánh giá là true

expr3

nếu

expr1

đánh giá là false .

Đánh giá cấp tốc cho bạn đánh giá cao và đánh giá cao

Có thể bỏ đi phần giữa của toán tử bậc ba.
Biểu thức expr1 ?: expr3 đánh giá là
kết quả của expr1 nếu expr1
đánh giá là true và nếu không thì expr3.
expr1 chỉ được đánh giá một lần trong trường hợp này.

Lưu ý :

Xin lưu ý rằng toán tử bậc ba là một biểu thức và nó
không đánh giá cho một biến mà là kết quả của một biểu thức. Đây
là điều quan trọng cần biết nếu bạn muốn trả về một biến bằng tham chiếu.
Câu lệnh return $ var == 42? $ a: $ b; trong a
Do đó, hàm return-by-reference sẽ không hoạt động và một cảnh báo là
cấp.

Lưu ý :

Nên tránh các biểu thức bậc ba “xếp chồng”.
Hành vi của PHP khi sử dụng nhiều hơn một toán tử bậc ba không có dấu ngoặc đơn trong một
cách diễn đạt không rõ ràng so với các ngôn ngữ khác.
Thật vậy trước PHP 8.0.0, các biểu thức bậc ba được đánh giá là liên kết trái,
thay vì liên kết phải như hầu hết các ngôn ngữ lập trình khác.
Dựa vào thuyết kết hợp trái không được chấp nhận kể từ PHP 7.4.0.
Kể từ PHP 8.0.0, toán tử bậc ba là không liên kết.

Ví dụ # 4 Hành vi không rõ ràng của bậc ba

& lt;? php

// thoạt nhìn, phần sau dường như xuất ra 'true'

echo (

< p> true

?

'true'

:

sai

?

< p> 't'

:

'f'

);

// tuy nhiên , Đầu ra thực tế của phần trên là 't' trước PHP 8.0.0
// điều này là do các biểu thức bậc ba là kết hợp trái

// sau đây là phiên bản rõ ràng hơn của cùng mã như trên

echo ((

true

?

'true'

< p>:

sai

)?

't'

:

'f'

);

// ở đây, người ta có thể thấy rằng biểu thức đầu tiên được đánh giá là 'true',
// lần lượt đánh giá thành (bool) true, do đó trả về nhánh thực của biểu thức
// bậc ba thứ hai.

? & gt;

Lưu ý :

Tuy nhiên, chuỗi ký tự ngắn hạn ( ?: ) ổn định và hoạt động hợp lý.
Nó sẽ đánh giá đối số đầu tiên đánh giá thành một giá trị không giả mạo. Lưu ý rằng không xác định
giá trị vẫn sẽ đưa ra cảnh báo.

Ví dụ # 5 Chuỗi bậc ba ngắn hạn

& lt;? php

echo

0

?:

1

?:

2

?:

3

,

PHP_EOL

;

// 1

tiếng vọng

0

?:

0

?:

2

?:

3

,

PHP_EOL

;

// 2

tiếng vọng

0

?:

0

?:

0

?:

3

,

PHP_EOL

;

// 3

? & gt;

Nhà điều hành Null Coalescing

Một toán tử viết tắt hữu ích khác là “??” (hoặc null kết hợp) toán tử.

Ví dụ # 6 Chỉ định giá trị mặc định

& lt;? php

// Ví dụ về cách sử dụng cho: Null Coalesce Operator

$ action

=

$ _POST

[

'hành động'

] ??

'default'

;

// Ở trên giống với câu lệnh if / else này
< / p>

if (Isset (

$ _POST

[

'action'

])) {

$ action

=

$ _POST

[

'action'

];
} khác {

$ action

=

'default'

;
}

? & gt;

(expr1) ?? (expr2) đánh giá là

expr2

nếu

expr1


null

expr1

nếu không.

Các toifis đánh giá nhanh, và ngược lại.

Đặc biệt, nhà điều hành này không phát ra thông báo hay cảnh báo nếu bên trái
giá trị không tồn tại, giống như Isset () . Điều này đặc biệt
hữu ích trên các phím mảng.

Lưu ý :

Xin lưu ý rằng toán tử kết hợp rỗng là một biểu thức và rằng nó
không đánh giá cho một biến mà là kết quả của một biểu thức. Đây
là điều quan trọng cần biết nếu bạn muốn trả về một biến bằng tham chiếu.
Câu lệnh return $ foo ?? $ bar; trong một
Do đó, hàm return-by-reference sẽ không hoạt động và một cảnh báo là
cấp.

Lưu ý :

Toán tử liên kết null có mức độ ưu tiên thấp. Điều đó có nghĩa là nếu trộn nó
với các toán tử khác (chẳng hạn như nối chuỗi hoặc toán tử số học)
dấu ngoặc đơn có thể sẽ được yêu cầu.

& lt;? php

// Đưa ra cảnh báo rằng $ name là không xác định.

print

'Mr . '

.

$ name

??

'Ẩn danh'

;

// In "Ông Ẩn danh"

< p> in

'Mr. '

. (

$ name

??

'Ẩn danh'

);

? & gt;

Lưu ý :

Xin lưu ý rằng toán tử liên kết null cho phép lồng ghép đơn giản:

Ví dụ số 7 Lồng toán tử liên kết null

& lt;? php

$ foo

=

vô hiệu

;

< p> $ bar

=

null

;

$ baz

= < / p>

1

;

$ qux

=

2

;

echo

$ foo

??

$ bar

??

$ baz

??

$ qux

;

// kết quả 1

? & gt;


Xem thêm những thông tin liên quan đến chủ đề php nhỏ hơn bằng

PHP làm quen với mảng

  • Tác giả: Út Tuyền
  • Ngày đăng: 2022-04-08
  • Đánh giá: 4 ⭐ ( 3521 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: PHP: Hypertext Preprocessor, thường được viết tắt thành PHP là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới.
    php web

Toán tử, cách sử dụng toán tử trong PHP

  • Tác giả: hoclaptrinh.vn
  • Đánh giá: 5 ⭐ ( 2748 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Ngôn ngữ PHP hỗ trợ các kiểu toán tử sau: – Toán tử số học – Toán tử so sánh – Toán tử logic (hay toán tử quan hệ) – Toán tử gán – Toán tử điều kiện (hoặc toán tử 3 ngôi)

Toán tử PHP

  • Tác giả: hocwebchuan.com
  • Đánh giá: 4 ⭐ ( 6746 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Toán tử.

Các hàm xử lý chuỗi trong PHP

  • Tác giả: hocphp.net
  • Đánh giá: 3 ⭐ ( 7825 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Chuỗi là một khái niệm quen thuộc đối với các lập trình viên PHP. Vậy có những hàm xử lý chuỗi nào, chúng ta cùng tìm hiểu nhé.

Các toán tử logic của Excel: bằng, không bằng, lớn hơn, nhỏ hơn

  • Tác giả: blog.hocexcel.online
  • Đánh giá: 4 ⭐ ( 8633 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Với bài viết này, blog.hocexcel.online đã chia sẻ cho các bạn các toán từ logic của Excel một các chi tiết nhất cùng các ví dụ…

Tìm giá trị lớn nhất nhỏ nhất trong PHP

  • Tác giả: vietjack.com
  • Đánh giá: 3 ⭐ ( 7609 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Tìm giá trị lớn nhất nhỏ nhất trong PHP | Hơn 100 bài tập PHP có giải hay nhất tại VietJack – Tuyển tập 100 bài tập PHP có giải từ cơ bản tới nâng cao bao gồm Bài tập PHP cơ bản, vòng lặp, lệnh if else, mảng, hàm, regular expression, date time, string, class, array, chuỗi, lớp, các giải thuật sắp xếp.

Bài 1: So sánh lớn hơn, nhỏ hơn, bằng nhau bằng hình ảnh (Toán lớp 1)

  • Tác giả: 360do.vn
  • Đánh giá: 4 ⭐ ( 8025 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trang này gồm 8 bài toán so sánh lớn hơn, nhỏ hơn, bằng nhau với các bài toán hình ảnh. Các em nhìn kỹ hình ảnh ở mỗi bài toán và dùng chuột kéo các số và các…

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Các loại RAM phổ biến hiện nay, nên chọn loại nào? - ddr ram thuộc loại bộ nhớ gì? *

By ads_php