Hướng dẫn which operator has highest precedence order in php? - toán tử nào có thứ tự ưu tiên cao nhất trong php?

Sự ưu tiên của một toán tử chỉ định cách "chặt chẽ" nó liên kết hai biểu thức với nhau. Ví dụ: trong biểu thức 1 + 5 * 3, câu trả lời là 16 chứ không phải 18 vì toán tử nhân ["*"] có độ ưu tiên cao hơn so với toán tử bổ sung ["+"]. Dấu ngoặc đơn có thể được sử dụng để buộc ưu tiên, nếu cần thiết. Ví dụ: [1 + 5] * 3 đánh giá thành 18.

Khi các nhà khai thác có ưu tiên bằng nhau của họ quyết định cách các nhà khai thác được nhóm lại. Ví dụ: "-" là liên kết trái, do đó 1 - 2 - 3 được nhóm là [1 - 2] - 3 và đánh giá thành -4. "=" Mặt khác là liên kết đúng, vì vậy $a = $b = $c được nhóm là ____10.

Các nhà khai thác ưu tiên bằng nhau không liên kết không thể được sử dụng bên cạnh nhau, ví dụ 1 + 5 * 31 là bất hợp pháp trong PHP. Mặt khác, biểu thức 1 + 5 * 32 là hợp pháp, bởi vì toán tử 1 + 5 * 33 có quyền ưu tiên thấp hơn so với toán tử 1 + 5 * 34.

Sự kết hợp chỉ có ý nghĩa đối với các toán tử nhị phân [và ternary]. Các toán tử Unary là tiền tố hoặc postfix nên khái niệm này không được áp dụng. Ví dụ 1 + 5 * 35 chỉ có thể được nhóm là 1 + 5 * 36.

Việc sử dụng dấu ngoặc đơn, ngay cả khi không hoàn toàn cần thiết, thường có thể tăng khả năng đọc của mã bằng cách nhóm rõ ràng thay vì dựa vào sự ưu tiên của toán tử ngầm và sự kết hợp.

Bảng sau liệt kê các toán tử theo thứ tự ưu tiên, với các bảng có hiệu suất cao nhất ở đầu. Các nhà khai thác trên cùng một dòng có ưu tiên bằng nhau, trong trường hợp đó, sự kết hợp quyết định nhóm.

ưu tiên điều hànhSự kết hợpNgười vận hànhthông tin thêm
[n/a] 1 + 5 * 37 1 + 5 * 38nhân bản và mới
bên phải1 + 5 * 39Môn số học
[n/a] 1 + 5 * 37 1 + 5 * 38nhân bản và mới
bên phải1 + 5 * 39Môn số học
[n/a] 1 + 5 * 37 1 + 5 * 38nhân bản và mới
bên phải1 + 5 * 39Môn số học
bên phải1 + 5 * 39Môn số học
bên phải1 + 5 * 39Môn số học
bên phải1 + 5 * 39Môn số học
160 161 162 163 164 165 166 167 168 Số học [Unary 160 và 161], tăng/giảm, bitwise, gõ đúc và kiểm soát lỗibên trái
160 161 162 163 164 165 166 167 168 Số học [Unary 160 và 161], tăng/giảm, bitwise, gõ đúc và kiểm soát lỗibên trái
bên phải1 + 5 * 39Môn số học
bên phải1 + 5 * 39Môn số học
bên phải1 + 5 * 39Môn số học
bên phải1 + 5 * 39nhân bản và mới
bên phải1 + 5 * 39nhân bản và mới
bên phải1 + 5 * 39Môn số học
160 161 162 163 164 165 166 167 168 Số học [Unary 160 và 161], tăng/giảm, bitwise, gõ đúc và kiểm soát lỗibên trái
bên phải1 + 5 * 39Môn số học
[n/a] 1 + 5 * 37 1 + 5 * 38nhân bản và mới
[n/a] 1 + 5 * 37 1 + 5 * 38nhân bản và mới
[n/a] 1 + 5 * 37 1 + 5 * 38nhân bản và mới
bên phải1 + 5 * 39nhân bản và mới
bên phải1 + 5 * 39nhân bản và mới
bên phải1 + 5 * 39nhân bản và mới

bên phải

-45

1 + 5 * 39

Môn số học

-46

160 161 162 163 164 165 166 167 168

$a = $b = $c0

Số học [Unary 160 và 161], tăng/giảm, bitwise, gõ đúc và kiểm soát lỗi

-1, or so I hope
-1, or so I hope
x minus one equals 3, or so I hope

bên trái:

184

loại hình

185 hợp lý
8.0.0 186 187 188
8.0.0 Môn số học
7.4.0 160 161 [1 + 5] * 31
7.4.0 Dựa vào tính liên kết trái của toán tử ternary [1 - 2 - 34], tức là làm tổ nhiều toán tử ternary không được chấp nhận, không được dùng.

fabmlk ¶

7 năm trước

1 + 5 * 310

tlili dot mokhtar tại gmail dot com ¶

1 năm trước

1 + 5 * 311

1 + 5 * 312

1 + 5 * 313

1 + 5 * 314

1 + 5 * 315

1 + 5 * 316

1 + 5 * 317

1 + 5 * 318

1 + 5 * 319

1 + 5 * 320

1 + 5 * 321

1 + 5 * 322

Carsten Milkau ¶

10 năm trước

1 + 5 * 323

1 + 5 * 324

1 + 5 * 325

1 + 5 * 322

Aaronw tại Catalyst dot net dot nz ¶

5 năm trước

1 + 5 * 327

1 + 5 * 328

1 + 5 * 322

Ivan tại Dilber Dot Info ¶

5 năm trước

1 + 5 * 330

1 + 5 * 331

1 + 5 * 332

Ivan tại Dilber Dot Info ¶

karlisd tại gmail dot com

1 + 5 * 333

1 + 5 * 334

1 + 5 * 335

1 + 5 * 336

6 năm trước

1 năm trước

1 + 5 * 337

1 + 5 * 338

1 + 5 * 322

Carsten Milkau ¶

1 năm trước

1 + 5 * 340

1 + 5 * 341

1 + 5 * 342

1 + 5 * 343

1 + 5 * 322

Carsten Milkau ¶

Sự ưu tiên của một toán tử chỉ định cách "chặt chẽ" nó liên kết hai biểu thức với nhau.Ví dụ, trong biểu thức 1 + 5 * 3, câu trả lời là 16 chứ không phải 18 vì toán tử nhân [" *"] có độ ưu tiên cao hơn toán tử bổ sung [" +"].Dấu ngoặc đơn có thể được sử dụng để buộc ưu tiên, nếu cần thiết.multiplication ["*"] operator has a higher precedence than the addition ["+"] operator. Parentheses may be used to force precedence, if necessary.

Nhà điều hành nào có thứ tự ưu tiên cao nhất?

Toán tử logic và logic [&&] có ưu tiên cao hơn toán tử logic-or [||], vì vậy Q && r được nhóm thành một toán hạng.Vì các toán tử logic đảm bảo đánh giá các toán hạng từ trái sang phải, Q && r được đánh giá trước S--.logical-AND operator [ && ] has higher precedence than the logical-OR operator [ || ], so q && r is grouped as an operand. Since the logical operators guarantee evaluation of operands from left to right, q && r is evaluated before s-- .

Bài Viết Liên Quan

Chủ Đề