Nó còn được gọi là toán tử điều kiện. Toán tử bậc ba là toán tử làm giảm độ dài của mã trong khi thực hiện so sánh. Nó là một giải pháp thay thế cho việc sử dụng các câu lệnh if-else và if-else lồng nhau. Chúng ta có thể sử dụng toán tử bậc ba khi có nhu cầu đơn giản hóa câu lệnh if-else và tạo mã hiệu quả từ cấu trúc chương trình phức tạp Show
cú phápSau đây là cú pháp của toán tử ternary trong php Trong cú pháp trên,
Sơ đồ luồng của PHPví dụ 1Giải trình Trong ví dụ trên, chúng tôi đã thực hiện một điều kiện nếu điều kiện là đúng, thông báo đủ điều kiện cho thẻ tín dụng sẽ được hiển thị nếu không, thông báo Không đủ điều kiện cho thẻ tín dụng sẽ được hiển thị Chắc các bạn cũng đã biết một số toán tử so sánh trong PHP. Những thứ như ternary 8, null kết hợp 9 và các nhà khai thác tàu vũ trụ 0. Nhưng bạn có thực sự biết chúng hoạt động như thế nào không? Trước khi xem xét chi tiết từng toán tử, đây là tóm tắt về chức năng của từng toán tử
# Toán tử bậc baToán tử bậc ba là cách viết tắt của cấu trúc 1. Thay vì viết cái này
bạn có thể viết cái này
Nếu 2 này ước tính thành 3, toán hạng bên trái sẽ được gán cho 4. Nếu điều kiện đánh giá là ________ 25, bàn tay phải sẽ được sử dụngSự thật thú vị. tên toán tử bậc ba thực sự có nghĩa là "một toán tử hoạt động trên ba toán hạng". Toán hạng là thuật ngữ được sử dụng để biểu thị các phần cần thiết của một biểu thức. Toán tử bậc ba là toán tử duy nhất trong PHP yêu cầu ba toán hạng. điều kiện, 3 và kết quả 5. Tương tự, cũng có các toán tử nhị phân và đơn nguyên. Bạn có thể đọc thêm về nó ở đâyQuay lại toán tử bậc ba. bạn có biết biểu thức nào đánh giá thành 3 và biểu thức nào không? Toán tử bậc ba sẽ sử dụng toán hạng bên trái của nó khi điều kiện có giá trị là 3. Đây có thể là một chuỗi, một số nguyên, boolean, v.v. Toán hạng bên phải sẽ được sử dụng cho cái gọi là "giá trị giả"Các ví dụ sẽ là 51 hoặc 52, một mảng hoặc chuỗi rỗng, 53, một biến không xác định hoặc chưa được gán và tất nhiên chính là 5. Tất cả các giá trị này sẽ làm cho toán tử bậc ba sử dụng toán hạng bên tay phải của nóNhận thấy một tpyo? . Nếu bạn muốn cập nhật những gì đang diễn ra trên blog này, bạn có thể theo dõi tôi trên Twitter hoặc đăng ký nhận bản tin của tôi. Đăng ký email # Toán tử ba ngôi tốc kýKể từ PHP 5. 3, có thể loại bỏ toán hạng bên trái, cho phép biểu thức ngắn hơn nữa
Trong trường hợp này, giá trị của 4 sẽ là giá trị của 56, trừ khi 56 ước tính thành 5, trong trường hợp đó, chuỗi 59 được sử dụngBạn có thể viết biểu thức này theo cách tương tự bằng cách sử dụng toán tử bậc ba bình thường 5Trớ trêu thay, bằng cách loại bỏ toán hạng thứ hai của toán tử bậc ba, nó thực sự trở thành toán tử nhị phân # Xâu chuỗi các toán tử ternaryNhững điều sau đây, mặc dù có vẻ hợp lý; 6Lý do là vì toán tử bậc ba trong PHP là liên kết trái và do đó được phân tích cú pháp theo một cách rất lạ. Ví dụ trên sẽ luôn đánh giá phần 60 trước, vì vậy ngay cả khi 61 sẽ là 3, bạn sẽ không bao giờ thấy đầu ra của nóTôi tin rằng điều đúng đắn cần làm là tránh hoàn toàn các toán tử bậc ba lồng nhau. Bạn có thể đọc thêm về hành vi kỳ lạ này trong câu trả lời Stack Overflow này Hơn nữa, như PHP 7. 4, việc sử dụng các ternary xích không có dấu ngoặc không được chấp nhận Xem video mới nhất của tôi PHP trong 1 phút # Toán tử kết hợp NullBạn đã xem bảng so sánh các loại trước đó chưa? . 0. Nó tương tự như toán tử bậc ba, nhưng sẽ hoạt động giống như 63 trên toán hạng bên trái thay vì chỉ sử dụng giá trị boolean của nó. Điều này làm cho toán tử này đặc biệt hữu ích cho các mảng và gán giá trị mặc định khi một biến không được đặt 1Toán tử kết hợp null nhận hai toán hạng, làm cho nó trở thành toán tử nhị phân. Nhân tiện, "kết hợp" có nghĩa là "kết hợp với nhau để tạo thành một khối hoặc toàn bộ". Nó sẽ nhận hai toán hạng và quyết định sử dụng toán hạng nào dựa trên giá trị của toán hạng bên trái # Null kết hợp trên mảngToán tử này đặc biệt hữu ích khi kết hợp với mảng, vì nó hoạt động như 63. Điều này có nghĩa là bạn có thể nhanh chóng kiểm tra sự tồn tại của các khóa, thậm chí cả các khóa lồng nhau mà không cần viết các biểu thức dài dòng 3Ví dụ đầu tiên cũng có thể được viết bằng toán tử bậc ba 4Lưu ý rằng không thể sử dụng toán tử bậc ba tốc ký khi kiểm tra sự tồn tại của các khóa mảng. Nó sẽ gây ra lỗi hoặc trả về giá trị boolean, thay vì giá trị của toán hạng thực bên trái 5# Null kết hợp chuỗiToán tử hợp nhất null có thể dễ dàng được xâu chuỗi 6# Hợp nhất lồng nhauCó thể sử dụng toán tử hợp nhất null trên các thuộc tính đối tượng lồng nhau, ngay cả khi một thuộc tính trong chuỗi là 53 0# Toán tử gán hợp nhất NullTrong PHP 7,4, chúng ta có thể mong đợi một cú pháp thậm chí còn ngắn hơn được gọi là "toán tử gán hợp nhất null" 1Trong ví dụ này, 66 sẽ được đặt thành 59, trừ khi nó được đặt trong mảng được truyền cho hàm. Điều này sẽ tương đương với điều sau đây, sử dụng toán tử hợp nhất null hiện tại 2# nhà điều hành tàu vũ trụToán tử tàu vũ trụ, mặc dù có một cái tên khá đặc biệt, nhưng có thể rất hữu ích. Đó là một toán tử được sử dụng để so sánh. Nó sẽ luôn trả về một trong ba giá trị. 51, 69 hoặc 10 51 sẽ được trả về khi cả hai toán hạng bằng nhau, 10 khi toán hạng bên trái lớn hơn và 69 khi toán hạng bên phải lớn hơn. Hãy xem một ví dụ đơn giản 3Ví dụ đơn giản này không phải là tất cả, phải không? 4Thật kỳ lạ, khi so sánh cách viết hoa của các chữ cái, chữ thường được coi là cao nhất. Có một lời giải thích đơn giản mặc dù. So sánh chuỗi được thực hiện bằng cách so sánh ký tự trên mỗi ký tự. Ngay khi một ký tự khác, giá trị ASCII của chúng được so sánh. Bởi vì chữ thường đứng sau chữ hoa trong bảng ASCII nên chúng có giá trị cao hơn # So sánh đối tượngNgười điều khiển tàu vũ trụ gần như có thể so sánh mọi thứ, kể cả các vật thể. Cách các đối tượng được so sánh dựa trên loại đối tượng. Các lớp PHP tích hợp có thể xác định phép so sánh của riêng chúng, trong khi các đối tượng userland được so sánh dựa trên các thuộc tính và giá trị của chúng Khi nào bạn muốn so sánh các đối tượng bạn yêu cầu? . ngày 5Tất nhiên, so sánh ngày tháng chỉ là một ví dụ, nhưng vẫn là một ví dụ rất hữu ích # Chức năng sắp xếpMột cách sử dụng tuyệt vời cho toán tử này là sắp xếp các mảng. Có khá nhiều cách để sắp xếp một mảng trong PHP và một số phương thức này cho phép một hàm sắp xếp do người dùng xác định. Hàm này phải so sánh hai phần tử và trả về 10, 51 hoặc 69 dựa trên vị trí của chúngMột trường hợp sử dụng tuyệt vời cho người điều khiển tàu vũ trụ 6Để sắp xếp giảm dần, bạn chỉ cần đảo ngược kết quả so sánh 7Xin chào, cảm ơn vì đã đọc. Tôi hy vọng bài đăng trên blog này đã giúp bạn. Nếu bạn muốn liên hệ với tôi, bạn có thể làm như vậy trên Twitter hoặc qua e-mail. Tôi luôn thích trò chuyện Làm cách nào để sử dụng tiếng vang trong toán tử ternary trong PHP?Chúng tôi sử dụng câu lệnh echo trong PHP để in giá trị cuối cùng được lưu trữ trong biến “ $text ” . Dưới đây là kết quả mà bạn sẽ nhận được từ tập lệnh PHP ở trên. Bạn có thể thấy rằng PHP đã đánh giá điều kiện của toán tử bậc ba là true và biến “ $text ” có chuỗi "Count is less than 30" được gán cho nó.
Làm cách nào để sử dụng Isset với toán tử bậc ba trong PHP?PHP Ternary Operator với Isset() Ví dụ
. Hàm isset() trả về true nếu các biến (được gửi tới hàm trong các tham số) được đặt và không phải là null. Việc bao các biểu thức trong toán tử bậc ba bằng dấu ngoặc đơn là tùy chọn .
Làm thế nào toán tử ternary có thể được sử dụng thay cho ifToán tử điều kiện – còn được gọi là toán tử bậc ba – là một dạng thay thế của câu lệnh if/else giúp bạn viết các khối mã điều kiện theo cách ngắn gọn hơn. Đầu tiên, bạn cần viết một biểu thức điều kiện đánh giá thành đúng hoặc sai
Chúng ta có thể sử dụng toán tử bậc ba trong hàm không?Toán tử bậc ba (còn được gọi là toán tử điều kiện) có thể được sử dụng để thực hiện kiểm tra điều kiện nội tuyến thay vì sử dụng if. tuyên bố khác. Nó làm cho mã ngắn hơn và dễ đọc hơn. Nó có thể được sử dụng để gán một giá trị cho một biến dựa trên một điều kiện hoặc thực thi một biểu thức dựa trên một điều kiện |